我正在编写一个 wav 播放器,并且使用以下文件格式规范:http://soundfile.sapp.org/doc/WaveFormat/ http://soundfile.sapp.org/doc/WaveFormat/.
正如您所看到的,它期望:
- 一个初始的“Riff Chunk”(它告诉我们这是一个 wav 文件还是其他一些 RIFF 文件类型)
- 接下来是“格式”块(它告诉我们比特率和通道数量等信息)。
- 接下来是一个“数据”块,其中包含所有音频数据。
我有一个音频文件,在格式块和数据块之间有一个“LIST”块,当我对文件进行十六进制编辑时,您可以直观地看到它:
这个 LIST 块是什么?它是某种标准化文件格式的一部分吗?是否有地方提供有关解析它的信息?
您的示例块包含一个LIST
of INFO
包含创建软件的信息(ISFT
):
LIST
类型块INFO
在扩展 RIFF 的格式中很常见。当一个LIST
chunk携带列表类型ID“INFO”,该列表包含有关文件的版权、作者、工程师以及其他类似文本的信息。
...
ISFT
用于创建文件的软件包名称
https://www.recordingblogs.com/wiki/list-chunk-of-a-wave-file https://www.recordingblogs.com/wiki/list-chunk-of-a-wave-file
还有其他类型的列表,但信息列表很常见。上面的网站非常详细地介绍了预期的内容,但简而言之:
- LIST 是基于 RIFF 的文件(如 WAVE 和 JPEG)中定义明确的容器类型。
- 并非每个文件都有 LIST 容器。
- 并非每个列表都包含相同类型的信息。例如,WAVE可以包括持续时间; JPEG 尺寸; JPEG 和 WAVE 可能都有作者。
- DLS 类型文件依赖于 LIST 容器来注释文件的所有可延展属性:样本、区域、关节等。其中任何一个都可能是binary data.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)