Flex - Java字节到mp3

时间:2012-09-14 12:33:25

标签: java actionscript-3 flex flex4.5 lame

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

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

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

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

这是我的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")); 

我的AudioFormat有什么问题?我需要在MP3盒中使用哪一个?!

紧急帮助!任何帮助将受到高度赞赏!

1 个答案:

答案 0 :(得分:2)

只需将原始字节写入名称为.mp3的文件,就不会将数据神奇地转换为MP3格式。您需要使用编码器来压缩它。

快速谷歌搜索找到LAMEOnJ,这是流行的LAME MP3编码器的Java API。