如何在Java中编写FLAC文件

发布于 2024-12-05 06:34:32 字数 278 浏览 1 评论 0原文

我需要在Java中编写FLAC文件。早些时候,我正在将音频输入写入WAV文件中,然后使用

我正在查看JFLAC的外部转换器将其转换为FLAC文件,以找到我可以编写FLAC文件的任何API。我发现Java中的AudioFileFormat.Type仅支持以下文件格式-AIFC,AIFF,SND,AU,WAVE。

我想拥有一种方法,可以从麦克风中捕获音频,并使用API​​(例如Audiosystem.write)将其写入FLAC文件而不是WAV文件。

请提出一种方法或API,可以解决我的问题。

I have a requirement to write FLAC files in java. Earlier I was writing the audio input into a WAV file and then converting it to FLAC file using a external converter

I was looking into JFlac to find any API through which I can write FLAC files. I found that AudioFileFormat.TYPE in java supports only the following file formats - AIFC, AIFF, SND, AU, WAVE .

I would like to have a method where I can capture the audio from the microphone and, using an API such as Audiosystem.write, write it to a FLAC file instead of WAV file.

Please suggest a method or an API that can solve my problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

两人的回忆 2024-12-12 06:34:32

您可以使用 this lib。这是一个使用0.2.3(Javaflacencoder-0.2.3-all.tar.gz)的简单示例。提取折载文件,然后将javaflacencoder-0.2.3.jar导入您的项目。有关更多文档,请参见在这里

package fr.telecomParisTech;
import java.io.File;
import javaFlacEncoder.FLAC_FileEncoder;
public class SoundConverter {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        FLAC_FileEncoder flacEncoder = new FLAC_FileEncoder();
        File inputFile = new File("hello.wav");
        File outputFile = new File("hello.flac");

        flacEncoder.encode(inputFile, outputFile);
        System.out.println("Done");
    }
}

You can use this lib. Here is a simple example using version 0.2.3 (javaFlacEncoder-0.2.3-all.tar.gz). Extract the dowloaded file, and then import javaFlacEncoder-0.2.3.jar to your project. For more documentation, see here:

package fr.telecomParisTech;
import java.io.File;
import javaFlacEncoder.FLAC_FileEncoder;
public class SoundConverter {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        FLAC_FileEncoder flacEncoder = new FLAC_FileEncoder();
        File inputFile = new File("hello.wav");
        File outputFile = new File("hello.flac");

        flacEncoder.encode(inputFile, outputFile);
        System.out.println("Done");
    }
}
南城追梦 2024-12-12 06:34:32

can 用Javaflacencoder直接将音频流写入FLAC文件:

AudioSystem.write(audioInputStream, FLACFileWriter.FLAC, new File("E:\\temp.flac"));

You can write audio stream directly to a FLAC file with javaflacencoder:

AudioSystem.write(audioInputStream, FLACFileWriter.FLAC, new File("E:\\temp.flac"));
飘过的浮云 2024-12-12 06:34:32

如果您想更改样本率,
使用 ffmpeg
像这样
ffmpeg -i sourcefile.wav -ar 16000 targetfile.flac

If you want to change sample rates,
use ffmpeg
like this
ffmpeg -i sourcefile.wav -ar 16000 targetfile.flac

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文