【发布时间】:2011-11-19 23:16:08
【问题描述】:
我需要用 java 编写 FLAC 文件。早些时候我将音频输入写入 WAV 文件,然后使用外部转换器将其转换为 FLAC 文件
我正在研究 JFlac 以找到可以编写 FLAC 文件的任何 API。我发现 Java 中的 AudioFileFormat.TYPE 仅支持以下文件格式 - AIFC、AIFF、SND、AU、WAVE。
我想要一种方法,可以从麦克风捕获音频,并使用 Audiosystem.write 等 API 将其写入 FLAC 文件而不是 WAV 文件。
请提出可以解决我的问题的方法或 API。
【问题讨论】:
-
不知道JFlac是否支持编码为FLAC。在news page,他们说“当前不支持编码器”。也许javaflacencoder 可以工作?
-
下载它并检查它.. 但我查看了 javadocs,它说编码函数将对给定的输入 wav 文件进行编码。有没有办法将麦克风发出的原始数据直接写入 flac 格式。提前致谢。 :)
-
我自己从未使用过 javaflacencoder,但猜测你会使用 FlacEncoder 类作为初学者,看起来你可以给它提供样本。如果您不希望输出进入文件,您可能还必须编写自己的 FLACOutputStream 实现。
-
(顺便说一下,这是一个猜测,基于我使用编码器 FLAC 的经验)我认为您不能将恒定的音频流编码为 FLAC。我很确定您必须从源文件进行转换。我的假设是基于这样的想法,即 FLAC 首先需要一个文件来压缩,然后在解压缩原始文件时重新创建(很像 zip、rar、7z 或 tar 作品)
标签: java audio wav audio-streaming