sndhdr --- 推测声音文件的类型¶
æº�代ç � Lib/sndhdr.py
从 3.11 版起ä¸�建议使用,将在 3.13 版ä¸ç§»é™¤: sndhdr 模å�—已被弃用(请å�‚阅 PEP 594 了解详情å�Šå…¶æ›¿ä»£å“�)。
sndhdr æ��供了ä¼�图猜测文件ä¸çš„声音数æ�®ç±»åž‹çš„功能函数。当这些函数å�¯ä»¥æŽ¨æµ‹å‡ºå˜å‚¨åœ¨æ–‡ä»¶ä¸çš„声音数æ�®çš„类型是,它们返回一个 collections.namedtuple(),包å�«äº†äº”ç§�属性:(filetype, framerate, nchannels, nframes, sampwidth)。这些 type 的值表示数æ�®çš„类型,会是以下å—符串之一: 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', or 'ul' 。 sampling_rate å�¯èƒ½æ˜¯å®žé™…值或者当未知或者难以解ç �æ—¶çš„ 0。类似的, channels ä¹Ÿä¼šè¿”å›žå®žé™…å€¼æˆ–è€…åœ¨æ— æ³•æŽ¨æµ‹æˆ–è€…éš¾ä»¥è§£ç �时返回 0。 frames 则是实际值或 -1。 元组的最å�Žä¸€é¡¹ï¼Œ bits_per_sample 将会为比特表示的 sample 大å°�或者 A-LAW 时为 'A', u-LAW 时为 'U'。
- sndhdr.what(filename)¶
使用
whathdr()推测å˜å‚¨åœ¨ filename 文件ä¸çš„声音数æ�®çš„类型。如果æˆ�功,返回上述的命å��元组,å�¦åˆ™è¿”回None。在 3.5 版本å�‘生å�˜æ›´: 将结果从元组改为命å��元组。
- sndhdr.whathdr(filename)¶
基于文件头推测å˜å‚¨åœ¨æ–‡ä»¶ä¸çš„声音数æ�®ç±»åž‹ã€‚文件å��ç”± filename 给出。这个函数在æˆ�功时返回上述命å��元组,或者在失败时返回
None。在 3.5 版本�生�更: 将结果从元组改为命�元组。
ä¸‹åˆ—éŸ³é¢‘æ ‡å¤´ç±»åž‹æ˜¯å�¯è¯†åˆ«çš„,带有如下æ�¥è‡ª whathdr() 的返回值: 以å�Š what():
值 |
éŸ³é¢‘æ ‡å¤´æ ¼å¼� |
|---|---|
|
Compressed Audio Interchange Files |
|
Audio Interchange Files |
|
Au Files |
|
HCOM Files |
|
Sndtool Sound Files |
|
Creative Labs Audio Files |
|
Waveform Audio File Format Files |
|
8-Bit Sampled Voice Files |
|
Signed Byte Audio Data Files |
|
UB Files |
|
uLAW Audio Files |
- sndhdr.tests¶
执行å�•个测试的函数列表。æ¯�个函数都有两个å�‚数:å—节æµ�和类似开放文件的对象。当
what()用å—节æµ�调用时,类文件对象将是None。如果测试æˆ�功,这个测试函数应当返回一个æ��述图åƒ�类型的å—符串,å�¦åˆ™è¿”回
None。
示例:
>>> import sndhdr
>>> imghdr.what('bass.wav')
'wav'
>>> imghdr.whathdr('bass.wav')
'wav'