1

我在将字节转换为 .mp3 声音文件时遇到问题。在我的情况下,我使用 FileOutputStream 使用它的 write(bytes) 方法来完成它,但它只是创建一个带有 mp3 扩展名的数据文件,但我无法在我的 PC 上的任何播放器中播放它。

注意:我从 Flex Michrophone 录制它并将 ByteArray 发送到 java。

我应该使用哪些库在 java 中添加 mp3 声音文件头等?

更新:我什至无法将我的原始数据转换为 java sound api 支持的 Wave 格式。它为我创建了带有录制声音但有噪音的声音 - 问题出在哪里?

这是我的波形代码:

AudioFormat format = new AudioFormat(Encoding.PCM_SIGNED, 44100, 16, 2, 2, 44100, true);

ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
AudioInputStream stream = new AudioInputStream(bais, format, bytes.length/format.getFrameSize());


AudioSystem.write(stream, AudioFileFormat.Type.WAVE, new File(path+"zzz.wav")); 

我的音频格式有什么问题???我必须在 MP3 盒中使用哪一个?!

紧急求助!任何帮助将不胜感激!

4

1 回答 1

2

仅将原始字节写入扩展名为 .mp3 的文件并不会神奇地将数据转换为 MP3 格式。您需要使用编码器对其进行压缩。

谷歌快速搜索发现LAMEOnJ,它是流行的LAME MP3 编码器的 Java API。

于 2012-09-14T12:44:01.623 回答