我正在使用以下代码将 .wav 文件读入字节数组。
AudioInputStream inputStream =
AudioSystem.getAudioInputStream(/*my .wav file */);
int numBytes = inputStream.available();
byte[] buffer = new byte[numBytes];
inputStream.read(buffer, 0, numBytes);
inputStream.close();
有没有一种简单的方法可以在读入字节数组之前或之后删除 .wav header ?
最佳答案
来自 AudioInputStream read() 方法的数据已经是原始 wav 数据。因此无需担心 .wav header 。如果您确实想要访问 header 内容,您可以使用与此 AudioInputStream 关联的 AudioFormat 对象。
http://download.oracle.com/javase/tutorial/sound/converters.html
顺便说一句,除非您的 .wav 文件非常小,否则您不会像处理示例那样通过一次读取就获得所有文件。您必须将读取内容放入一个 while 循环中,就像上面引用的教程中的第一个代码片段一样。
关于Java - 从 .wav 中删除 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1440258/