sndhdr.md
1> **Источник:** https://python-all.ru/2.7/library/sndhdr.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 21.9. [`sndhdr`](https://python-all.ru/2.7/library/sndhdr.html#module-sndhdr) – Определение типа звукового файла89**Исходный код:** [Lib/sndhdr.py](https://python-all.ru/src/2.7/Lib/sndhdr.py)1011---1213Модуль [`sndhdr`](https://python-all.ru/2.7/library/sndhdr.html#module-sndhdr) предоставляет служебные функции, которые пытаются определить тип звуковых данных, находящихся в файле. Когда эти функции могут определить, какой тип звуковых данных хранится в файле, они возвращают кортеж `(type, sampling_rate, channels, frames, bits_per_sample)`. Значение *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.1415#### `sndhdr.what(filename)`1617Определяет тип звуковых данных, хранящихся в файле *filename*, с помощью [`whathdr()`](https://python-all.ru/2.7/library/sndhdr.html#sndhdr.whathdr). В случае успеха возвращает кортеж, как описано выше, в противном случае возвращается `None`.1819#### `sndhdr.whathdr(filename)`2021Определяет тип звуковых данных, хранящихся в файле, на основе заголовка файла. Имя файла задаётся параметром *filename*. Эта функция возвращает кортеж, как описано выше, в случае успеха, или `None`.22