sndhdr
— Визначити тип звукового файлу¶
Вихідний код: Lib/sndhdr.py
Застаріло з версії 3.11, буде видалено у версії 3.13: Модуль sndhdr
є застарілим (перегляньте PEP 594 для деталей та альтернатив).
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'
для A-LAW або 'U'
для u-LAW.
- sndhdr.what(filename)¶
Визначає тип звукових даних, що зберігаються у файлі filename за допомогою
whathdr()
. Якщо це вдається, повертає іменований кортеж, як описано вище, інакше повертаєтьсяNone
.Змінено в версії 3.5: Результат змінено з кортежу на іменований кортеж.
- sndhdr.whathdr(filename)¶
Визначає тип звукових даних, що зберігаються у файлі, на основі заголовка файлу. Ім’я файлу задається ім’я файлу. Ця функція повертає іменований кортеж, як описано вище, у разі успіху або
None
.Змінено в версії 3.5: Результат змінено з кортежу на іменований кортеж.
The following sound header types are recognized, as listed below with the return value
from whathdr()
: and what()
:
Значення |
Sound header format |
---|---|
|
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'