我正在使用Java处理音频数据(WAV文件),并且正在使用AudioInputStream读取音频文件。我有一个问题,当我使用AudioInputStream读取数据时,它是否还包含标题或标题将被删除?

AudioInputStream ais = AudioSystem.getAudioInputStream(file);
ais.read(data);

将会包含哪些数据?所有数据以及标题?我在此链接上阅读了内容。 http://docs.oracle.com/javase/tutorial/sound/converters.html
它说它将返回音频数据,但是如果音频数据也仅意味着数据或标题,我会感到困惑。

谢谢

最佳答案



是的,标题不包括在内。以我的经验,AudioInputStream也正确地忽略了非标准的非音频块。 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());



数据将包含直接来自文件音频部分的原始字节。

关于java - AudioInputStream的read方法是否排除标题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26598753/

10-09 04:02