AudioInputStream的read方法是否排除标题?

时间:2014-10-27 23:49:22

标签: java audio wav

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

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

将包含哪些数据?所有数据和标题?我在这个链接上看了一下。 http://docs.oracle.com/javase/tutorial/sound/converters.html 它说它将返回音频数据但我很困惑,如果音频数据也只是数据或标题。

由于

1 个答案:

答案 0 :(得分:1)

  

AudioInputStream的读取方法是否排除标题?

是的,标题被排除在外。根据我的经验,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());
  

将包含哪些数据?

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