我正在 Java 中处理音频数据(WAV 文件),并且正在使用 AudioInputStream 读取音频文件。我有一个问题,当我使用AudioInputStream读取数据时,它是否还包含 header 或 header 将被删除?
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
ais.read(data);
将包含哪些数据?所有数据以及标题?我在这个链接上读过一些东西。 http://docs.oracle.com/javase/tutorial/sound/converters.html 它说它将返回音频数据,但我很困惑音频数据是否只意味着数据或 header 。
谢谢
最佳答案
Does AudioInputStream's read method exclude header?
是的, header 被排除。根据我的经验,AudioInputStream 也可以正确忽略非标准非音频 block 。 AudioInputStream#read
应该只读取音频数据的字节。
这是一个临时测试。
File f = new File("your audio file.wav");
FileInputStream fis = new FileInputStream(f);
AudioInputStream ais = AudioSystem.getAudioInputStream(f);
// prints the number of bytes that are detected not to be audio data
System.out.println(fis.available() - ais.available());
What data will contain?
数据将包含直接来自文件音频部分的原始字节。
关于java - AudioInputStream的read方法是否排除header?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26598753/