Подтипы аудио
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
В следующих таблицах перечислены идентификаторы GUID подтипов мультимедиа для аудио. Если применимо, в каждой таблице указан эквивалентный тег формата, объявленный в Mmreg.h.
Несжатые типы звука
Идентификатор GUID | Описание | Header | Тег эквивалентного формата |
---|---|---|---|
MEDIASUBTYPE_IEEE_FLOAT | Звук с плавающей запятой IEEE. | uuids.h | WAVE_FORMAT_IEEE_FLOAT (0x0003) |
MEDIASUBTYPE_PCM | Звук PCM. | uuids.h | WAVE_FORMAT_PCM (0x0001) |
Типы звука MPEG-4 и AAC
Идентификатор GUID | Описание | Header | Тег эквивалентного формата |
---|---|---|---|
MEDIASUBTYPE_MPEG_ADTS_AAC | Звук с расширенным аудиокодированием (AAC) в формате потока передачи аудиоданных (ADTS). Блок формата представляет собой структуру WAVEFORMATEX с wFormatTag , равным WAVE_FORMAT_MPEG_ADTS_AAC. Структура WAVEFORMATEX определяет основную частоту дискретизации AAC-LC и количество каналов перед применением средств репликации спектрального диапазона (SBR) или параметрических стерео (PS), если они присутствуют. После структуры WAVEFORMATEX дополнительные данные не требуются. |
wmcodecdsp.h | WAVE_FORMAT_MPEG_ADTS_AAC (0x1600) |
MEDIASUBTYPE_MPEG_HEAAC | High-Efficiency поток advanced audio coding (HE-AAC). Блок форматирования представляет собой структуру HEAACWAVEFORMAT . |
wmcodecdsp.h | WAVE_FORMAT_MPEG_HEAAC (0x1610) |
MEDIASUBTYPE_MPEG_LOAS | Транспортный аудиопоток MPEG-4 с уровнем синхронизации (LOAS) и мультиплексным слоем (LATM). Блок формата представляет собой структуру WAVEFORMATEX с wFormatTag , равным WAVE_FORMAT_MPEG_LOAS. Структура WAVEFORMATEX определяет основную частоту выборки AAC-LC и количество каналов перед применением спектральных средств SBR или PS, если они присутствуют. После структуры WAVEFORMATEX дополнительные данные не требуются. |
wmcodecdsp.h | WAVE_FORMAT_MPEG_LOAS (0x1602) |
MEDIASUBTYPE_RAW_AAC1 | Необработанный AAC. Блок формата представляет собой структуру WAVEFORMATEX с wFormatTag , равным WAVE_FORMAT_RAW_AAC1. Структура WAVEFORMATEX определяет частоту выборки и количество каналов в декодированных звуках после применения средств SBR и PS, если они есть. За структурой WAVEFORMATEX следуют дополнительные байты, содержащие данные AudioSpecificConfig(), как определено в стандарте ISO/IEC 14496-3 (MPEG-4 Audio). Длина данных AudioSpecificConfig() составляет 2 байта для AAC-LC или HE-AAC с неявной сигнализацией SBR/PS. Это более 2 байт для HE-AAC с явной сигнализацией SBR/PS. |
wmcodecdps.h | WAVE_FORMAT_RAW_AAC1 (0x00FF) |
Типы звука Dolby
Идентификатор GUID | Описание | Header | Тег эквивалентного формата |
---|---|---|---|
MEDIASUBTYPE_DOLBY_DDPLUS | Звук Dolby Digital Plus. | wmcodecdsp.h | Недоступно |
MEDIASUBTYPE_DOLBY_AC3 | Звук Dolby Digital (AC-3). | ksuuids.h | Недоступно |
MEDIASUBTYPE_DOLBY_AC3_SPDIF | Dolby AC-3 по S/PDIF. | uuids.h | WAVE_FORMAT_DOLBY_AC3_SPDIF (0x0092) |
MEDIASUBTYPE_DVM | Кодек DVM AC-3. Используется при воспроизведении файлов AVI с помощью звука Dolby Digital. Блок формата представляет собой структуру WAVEFORMATEX с тегом format, равным WAVE_FORMAT_DVM. |
wmcodecdsp.h | WAVE_FORMAT_DVM (0x2000) |
MEDIASUBTYPE_RAW_SPORT | AC-3 по S/PDIF; См. примечания. | uuids.h | WAVE_FORMAT_RAW_SPORT (0x0240) |
MEDIASUBTYPE_SPDIF_TAG_241h | AC-3 по S/PDIF; См. примечания. | uuids.h | WAVE_FORMAT_ESST_AC3 (0x0241) |
Чтобы указать заполненный ac-3, используйте подтип MEDIASUBTYPE_DOLBY_AC3_SPDIF, соответствующий тегу формата 0x0092 (WAVE_FORMAT_DOLBY_AC3_SPDIF). Значения 0x240 и 0x241 также использовались для обозначения заполненного AC-3, но корпорация Майкрософт рекомендует использовать 0x0092.
Прочие типы звука
Идентификатор GUID | Описание | Header | Тег эквивалентного формата |
---|---|---|---|
MEDIASUBTYPE_DRM_Audio | Звук с защитой управления цифровыми правами (DRM). | uuids.h | WAVE_FORMAT_DRM (0x0009) |
MEDIASUBTYPE_DTS | Звук цифровых театральных систем (DTS). Блок формата представляет собой структуру WAVEFORMATEX с тегом format, равным WAVE_FORMAT_UNKNOWN. |
ksuuids.h | Недоступно |
MEDIASUBTYPE_DTS2 | Звук цифровых театральных систем (DTS). Блок форматирования представляет собой структуру WAVEFORMATEX с тегом format, равным WAVE_FORMAT_DTS2. Этот подтип эквивалентен MEDIASUBTYPE_DTS но использует другой тег формата. |
wmcodecdsp.h | WAVE_FORMAT_DTS2 (0x2001) |
MEDIASUBTYPE_DVD_LPCM_AUDIO | Аудиоданные DVD. | ksuuids.h | Недоступно |
MEDIASUBTYPE_MPEG1AudioPayload | Полезные данные звука MPEG-1. | uuids.h | WAVE_FORMAT_MPEG (0x0050) |
MEDIASUBTYPE_MPEG1Packet | Аудиопакет MPEG1. | uuids.h | Недоступно |
MEDIASUBTYPE_MPEG1Payload | Полезные данные аудио MPEG1. | uuids.h | Недоступно |
MEDIASUBTYPE_MPEG2_AUDIO | Аудиоданные MPEG-2. | ksuuids.h | Недоступно |
Теги формата звука
Поле wFormatTag в структуре WAVEFORMATEX указывает тип формата звука. Примеры мультимедиа обычно представляют собой целое количество выборок, как указано в поле wBitsPerSample в структуре WAVEFORMATEX . Это не обязательно верно для примеров звука MPEG, которые могут поступать из пакетных потоков и поэтому не обязательно упаковываются на границы выборки и кадра. Для звука MPEG метка времени в образце мультимедиа — это метка времени для первого кадра, первый байт которого содержится в образце мультимедиа.
Подтипы мультимедиа определяются для каждого wFormatTag следующим образом:
- Подполе Data1 подтипа GUID совпадает со значением wFormatTag .
- Поле Data 2 равно 0.
- Поле Data 3 0x0010.
- Поле Data 4 — 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B 0x71.
Таким образом, для звука PCM подтип GUID (определенный в uuids.h как MEDIASUBTYPE_PCM) имеет следующий формат:
{00000001-0000-0010-8000-00AA00389B71}
Функцию CreateAudioMediaType можно использовать для создания структуры AM_MEDIA_TYPE из структуры WAVEFORMATEX .
Устаревшие типы аудио
Следующие подтипы аудио являются устаревшими и не должны использоваться:
- MEDIASUBTYPE_MPEG_RAW_AAC
- MEDIASUBTYPE_PCMAudioObsolete