基本的wav数据块

时间:2011-05-22 23:42:55

标签: audio wav

我对基本的wav文件数据块有疑问。

我知道数据块部分中的每2个字节代表单声道声音,左右声道交替存储,但我仍然不知道如何理解2字节值。

是高还是低?

  • 值0000 =>最低?
  • 值FFFF =>最高?
  • 值8FFF =>没声音?

如果是这样的话,当我想减少50%的音量时,我只需要做好低和高等级 除以2?

2 个答案:

答案 0 :(得分:1)

WAV文件可以包含不同位深度和编码的样本,但最常用的一种是16位PCM。对于WAV文件中的16位PCM数据,每两个字节应解释为短(即带符号的双字节数)。在WAV文件中,样本始终是“little-endian”。如果您使用某种语言标记问题,则可能会有人提供一些简单的示例代码。在C / C ++中,您可以将从文件中读取的数据数组转换为(short *),以便您轻松访问每个样本。

要回答问题的第二部分,是的,您可以通过将每个样本的值减半来减少音量。

答案 1 :(得分:0)

你的理解似乎很好。我唯一能想到的是一个字节将是一个最重要的字节,一个字节将是最不重要的。除此之外,你似乎就是这样。

你的问题很好(我认为无论如何!)虽然如果你问一个特定的编程问题,可能会得到更多有用的答案,但我可以看到这可能是不可能的。