【问题标题】:What is a "LIST" chunk in a RIFF/Wav header?什么是 RIFF/Wav 标头中的“LIST”块?
【发布时间】:2021-01-03 19:55:51
【问题描述】:

我正在编写一个 wav 播放器,我正在使用这个文件格式规范:http://soundfile.sapp.org/doc/WaveFormat/。

如你所见,它期望:

  1. 初始的“Riff Chunk”(告诉我们这是 wav 文件还是其他 RIFF 文件类型)
  2. 后跟“格式”块(告诉我们比特率和通道数等信息)。
  3. 后跟一个“数据”块,其中包含所有音频数据。

我有一个音频文件,它在格式块和数据块之间有一个“列表”块,当我对文件进行十六进制编辑时,您可以直观地看到:

这个 LIST 块是什么,它是某些标准化文件格式的一部分吗?是否有某个地方有解析它的信息?

【问题讨论】:

    标签: wav riff


    【解决方案1】:

    您的示例块包含INFOrmation 的LIST,其中包括创建软件 (ISFT):

    LIST 类型的块 INFO 在扩展 RIFF 的格式中很常见。当LIST 块带有列表类型 ID“INFO”时,该列表包含有关文件的版权、作者、工程师和其他类似文本的信息。
    ...
    ISFT用于创建文件的软件包名称

    https://www.recordingblogs.com/wiki/list-chunk-of-a-wave-file

    还有其他种类的列表,但信息列表很常见。上面的网站非常详细地介绍了预期内容,但简而言之:

    • LIST 是 WAVE 和 JPEG 等基于 RIFF 的文件中定义明确的容器类型。
    • 并非每个文件都有一个 LIST 容器。
    • 并非每个 LIST 都包含相同类型的信息。例如,WAVE 可能包括持续时间; JPEG 尺寸; JPEG 和 WAVE 可能都有作者。
    • DLS 类型文件依赖于 LIST 容器来注释文件的所有可延展属性:样本、区域、关节等。其中任何一个都可能是二进制数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      相关资源
      最近更新 更多