如何在java中编写FLAC文件

Rav*_*rma 6 java audio wav audio-streaming

我需要在java中编写FLAC文件.之前我将音频输入写入WAV文件,然后使用外部转换器将其转换为FLAC文件

我正在研究JFlac以找到可以通过其编写FLAC文件的任何API.我发现java中的AudioFileFormat.TYPE仅支持以下文件格式 - AIFC,AIFF,SND,AU,WAVE.

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

请建议可以解决我的问题的方法或API.

nxh*_*oaf 11

你可以使用这个库.这是一个使用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");
    }
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*nov 5

可以使用javaflacencoder将音频流直接写入FLAC文件:

AudioSystem.write(audioInputStream, FLACFileWriter.FLAC, new File("E:\\temp.flac"));
Run Code Online (Sandbox Code Playgroud)