将原始字节转换为音频声音

时间:2010-05-07 08:21:43

标签: java audio javasound

在我的应用程序中,我从freeTTS包继承了一个javastreamingaudio类,然后绕过write方法,该方法将一个字节数组发送到SourceDataLine进行音频处理。我将这个和后续的字节数组写入缓冲区,而不是写入数据线,然后将其带入我的类并尝试处理成声音。我的应用程序处理声音作为浮点数组,所以我转换为浮点并尝试处理但总是得到静态声音。

我确信这是要走的路,但我一路上都错过了一些东西。我知道声音是作为帧处理的,每个帧都是一组字节,因此在我的应用程序中,我必须以某种方式将字节处理成帧。我是以正确的方式看待这个吗?提前做任何帮助。

1 个答案:

答案 0 :(得分:12)

首先,您要将字节数组转换为InputStream。然后,使用AudioSystem从该Inputstream创建AudioInputStream。拥有音频流后,您基本上拥有音频,您可以将其写入文件或做任何您喜欢的事情。

ByteArrayInputStream oInstream = new ByteArrayInputStream(ayAudioData);
AudioInputStream oAIS = AudioSystem.getAudioInputStream(oInstream);