问题描述
我正在编写一个wav播放器,并且正在使用以下文件格式规范:http://soundfile.sapp.org/doc/WaveFormat/。
如您所见,它期望:
我有一个音频文件,该文件在Format块和Data块之间有一个“ LIST”块,当我对文件进行十六进制编辑时,您可以在视觉上看到它:
这个LIST块是什么,它是某种标准化文件格式的一部分,并且在某处具有解析该文件的信息?
解决方法
您的示例块包含一个LIST
版本的INFO
版本,其中包括创建软件(ISFT
):
类型LIST
的
INFO
块在扩展RIFF的格式中很常见。当LIST
块带有列表类型ID“ INFO”时,该列表包含有关版权,作者,文件工程师和其他类似文本的信息。
...ISFT
用于创建文件的软件包的名称
https://www.recordingblogs.com/wiki/list-chunk-of-a-wave-file
还有其他种类的列表,但是信息列表很常见。上面的网站非常详细地介绍了期望的内容,但简要介绍了:
- LIST是基于RIFF的文件(如WAVE和JPEG)中定义明确的容器类型。
- 并非每个文件都有一个LIST容器。
- 并非每个LIST都包含相同类型的信息。例如,WAVE可以包括持续时间; JPEG尺寸; JPEG和WAVE可能都有作者。
- DLS类型文件依靠LIST容器来注释文件的所有可延展属性:样本,区域,关节等,其中任何一个可能是 binary 数据。