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

5
在我的应用程序中,我从freeTTS包中继承了一个javastreamingaudio类,然后绕过将字节数组发送到SourceDataLine进行音频处理的write方法。我不是将数据写入数据行,而是将这些字节数组及其后续数组写入缓冲区,然后将其带入我的类并尝试将其处理为声音。我的应用程序将声音处理为浮点数数组,因此我进行了转换并尝试处理,但始终会得到静态声音。
我确定这是正确的方法,但在途中漏掉了什么。我知道声音是以帧为单位进行处理的,每个帧都是一组字节,因此在我的应用程序中,我必须以某种方式将字节处理成帧。我是否正在正确地看待这个问题?提前感谢任何帮助。
1个回答

12

首先,您需要将字节数组转换为InputStream。然后,使用您的AudioSystem从该InputStream创建一个AudioInputStream。一旦您拥有了音频流,您基本上就拥有了音频,可以将其写入文件或进行其他操作。

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

2
已经解决了这个问题,但感谢您的解决方案,因为这就是我所做的。希望它能在将来帮助到某些人。 - Afro Genius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接