Поделиться через


Подтипы аудио

[Функция, связанная с этой страницей 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

См. также раздел

AM_MEDIA_TYPE

Типы мультимедиа