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)