【问题标题】:basic wav data chunk基本 wav 数据块
【发布时间】:2011-05-22 23:42:54
【问题描述】:

我有一个关于基本 wav 文件数据块的问题。

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

是高还是低?

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

如果是这样,当我想减少 50% 的音量时,我所要做的只是分类低和高 并除以 2?

【问题讨论】:

  • 我重新表述了您的问题,使其更具可读性。好问题。

标签: audio wav


【解决方案1】:

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

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

【讨论】:

【解决方案2】:

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

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

【讨论】:

  • 我能问你哪个是最低有效字节吗?为什么?
猜你喜欢
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
相关资源
最近更新 更多