sndhdr
— 确定声音文件类型¶
源代码: Lib/sndhdr.py
sndhdr
提供实用函数,用于尝试确定文件中的声音数据类型。当这些函数能够确定文件中存储的声音数据类型时,它们会返回一个 namedtuple()
,其中包含五个属性:(filetype
、framerate
、nchannels
、nframes
、sampwidth
)。type 的值表示数据类型,将是以下字符串之一:'aifc'
、'aiff'
、'au'
、'hcom'
、'sndr'
、'sndt'
、'voc'
、'wav'
、'8svx'
、'sb'
、'ub'
或 'ul'
。如果未知或难以解码,sampling_rate 将为实际值或 0
。类似地,如果无法确定或值难以解码,channels 将为通道数或 0
。frames 的值将为帧数或 -1
。元组中的最后一个项目 bits_per_sample 将为以位为单位的样本大小,或 A-LAW 的 'A'
或 u-LAW 的 'U'
。
- sndhdr.what(filename)¶
使用
whathdr()
确定存储在文件 filename 中的声音数据类型。如果成功,则返回如上所述的命名元组,否则返回None
。3.5 版中已更改:结果已从元组更改为命名元组。
- sndhdr.whathdr(filename)¶
根据文件头确定存储在文件中的声音数据类型。文件名称由 filename 给出。此函数在成功时返回如上所述的命名元组,或
None
。3.5 版中已更改:结果已从元组更改为命名元组。
识别以下声音头类型,如下所示,其中 whathdr()
和 what()
的返回值:
值 |
声音头格式 |
---|---|
|
压缩音频交换文件 |
|
音频交换文件 |
|
Au 文件 |
|
HCOM 文件 |
|
Sndtool 声音文件 |
|
创新实验室音频文件 |
|
波形音频文件格式文件 |
|
8 位采样语音文件 |
|
带符号字节音频数据文件 |
|
UB 文件 |
|
uLAW 音频文件 |
- sndhdr.tests¶
执行各个测试的函数列表。每个函数采用两个参数:字节流和一个打开的文件类对象。当
what()
使用字节流调用时,文件类对象将为None
。如果测试成功,则测试函数应返回描述图像类型的字符串,如果测试失败,则返回
None
。
示例
>>> import sndhdr
>>> imghdr.what('bass.wav')
'wav'
>>> imghdr.whathdr('bass.wav')
'wav'