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

Afr*_*ius 5 java audio javasound

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

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

Gar*_*ola 12

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

ByteArrayInputStream oInstream = new ByteArrayInputStream(ayAudioData);
AudioInputStream oAIS = AudioSystem.getAudioInputStream(oInstream);
Run Code Online (Sandbox Code Playgroud)

  • 已经为你的解决方案找到了这个,但是因为它就是我所做的.希望有一天它会帮助某人. (2认同)