在java中从字节数组中编写.wav文件

时间:2014-04-27 19:33:30

标签: java wav javax.sound.sampled

我需要读取.WAV文件,应用半音的一些偏移量,并将其重写为新的.WAV文件。

我想出了如何将文件转换为字节数组,但我不确定如何将其重写为新的.WAV文件。我正在使用javax.sound.sampled.*库。

我知道有一个函数AudioSystem.write(AudioInputStream, FileFormat, File),但我不知道如何从字节数组创建AudioInputStream。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
AudioInputStream stream = AudioSystem.getAudioInputStream(bais);

但请确保您的字节数组确实包含WAV标头信息。否则你可能会得到类似could not get audio input stream from input stream的东西。