Документация Python неофициальный перевод

sndhdr.md

60 строк · 5.5 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.11/library/sndhdr.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# [`sndhdr`](https://python-all.ru/3.11/library/sndhdr.html#module-sndhdr) – Определение типа звукового файла89**Исходный код:** [Lib/sndhdr.py](https://python-all.ru/src/3.11/Lib/sndhdr.py)1011Устарело с версии 3.11, будет удалено в версии 3.13: Модуль [`sndhdr`](https://python-all.ru/3.11/library/sndhdr.html#module-sndhdr) устарел (см. [**PEP 594**](https://python-all.ru/3.11/library/sndhdr.html) для получения подробностей и альтернатив).1213---1415Модуль [`sndhdr`](https://python-all.ru/3.11/library/sndhdr.html#module-sndhdr) предоставляет вспомогательные функции, которые пытаются определить тип звуковых данных в файле. Если этим функциям удаётся определить тип звуковых данных, хранящихся в файле, они возвращают именованный кортеж [`namedtuple()`](https://python-all.ru/3.11/library/collections.html#collections.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.1617#### `sndhdr.what(filename)`1819Определяет тип звуковых данных, хранящихся в файле *filename*, с помощью [`whathdr()`](https://python-all.ru/3.11/library/sndhdr.html#sndhdr.whathdr). В случае успеха возвращает именованный кортеж, как описано выше, в противном случае возвращается `None`.2021Изменено в версии 3.5: Результат изменён с кортежа на именованный кортеж.2223#### `sndhdr.whathdr(filename)`2425Определяет тип звуковых данных, хранящихся в файле, на основе заголовка файла. Имя файла задаётся параметром *filename*. Эта функция возвращает именованный кортеж, как описано выше, в случае успеха, или `None`.2627Изменено в версии 3.5: Результат изменён с кортежа на именованный кортеж.2829Распознаются следующие типы заголовков звуковых файлов, перечисленные ниже с возвращаемым значением из [`whathdr()`](https://python-all.ru/3.11/library/sndhdr.html#sndhdr.whathdr): и [`what()`](https://python-all.ru/3.11/library/sndhdr.html#sndhdr.what):3031| Значение | Формат заголовка звукового файла |32| --- | --- |33| `'aifc'` | Сжатые файлы Audio Interchange |34| `'aiff'` | Файлы Audio Interchange |35| `'au'` | Файлы Au |36| `'hcom'` | Файлы HCOM |37| `'sndt'` | Звуковые файлы Sndtool |38| `'voc'` | Аудиофайлы Creative Labs |39| `'wav'` | Файлы Waveform Audio File Format |40| `'8svx'` | 8-битные файлы голосовых семплов |41| `'sb'` | Файлы звуковых данных со знаковым байтом |42| `'ub'` | Файлы UB |43| `'ul'` | Аудиофайлы u-LAW |4445#### `sndhdr.tests`4647Список функций, выполняющих отдельные тесты. Каждая функция принимает два аргумента: поток байтов и открытый файлоподобный объект. Когда [`what()`](https://python-all.ru/3.11/library/sndhdr.html#sndhdr.what) вызывается с потоком байтов, файлоподобный объект будет `None`.4849Тестовая функция должна возвращать строку с описанием типа изображения, если тест успешен, или `None`, если нет.5051Пример:5253```pycon54>>> import sndhdr55>>> imghdr.what('bass.wav')56'wav'57>>> imghdr.whathdr('bass.wav')58'wav'59```60