Subtipos de áudio

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

As tabelas a seguir listam GUIDs de subtipo de mídia para áudio. Quando aplicável, cada tabela lista a marca de formato equivalente, declarada em Mmreg.h.

Tipos de áudio descompactados

GUID Descrição Cabeçalho Marca de formato equivalente
MEDIASUBTYPE_IEEE_FLOAT Áudio de ponto flutuante IEEE. uuids.h WAVE_FORMAT_IEEE_FLOAT (0x0003)
MEDIASUBTYPE_PCM Áudio PCM. uuids.h WAVE_FORMAT_PCM (0x0001)

Tipos de áudio MPEG-4 e AAC

GUID Descrição Cabeçalho Marca de formato equivalente
MEDIASUBTYPE_MPEG_ADTS_AAC Áudio AAC (Advanced Audio Coding) no formato ADTS (Audio Data Transport Stream).
O bloco de formato é uma estrutura WAVEFORMATEX com wFormatTag igual a WAVE_FORMAT_MPEG_ADTS_AAC.
A estrutura WAVEFORMATEX especifica a taxa de amostra básica do AAC-LC e o número de canais, antes de aplicar ferramentas de SBR (replicação de banda espectral) ou PS (estéreo paramétrico), se presente.
Nenhum dado adicional é necessário após a estrutura WAVEFORMATEX .
wmcodecdsp.h WAVE_FORMAT_MPEG_ADTS_AAC (0x1600)
MEDIASUBTYPE_MPEG_HEAAC High-Efficiency fluxo HE-AAC (Advanced Audio Coding).
O bloco de formato é uma estrutura HEAACWAVEFORMAT .
wmcodecdsp.h WAVE_FORMAT_MPEG_HEAAC (0x1610)
MEDIASUBTYPE_MPEG_LOAS Fluxo de transporte de áudio MPEG-4 com uma LOAS (camada de sincronização) e uma LATM (camada multiplex).
O bloco de formato é uma estrutura WAVEFORMATEX com wFormatTag igual a WAVE_FORMAT_MPEG_LOAS.
A estrutura WAVEFORMATEX especifica a taxa de amostra básica do AAC-LC e o número de canais, antes da aplicação de ferramentas de SBR ou PS espectral, se presente.
Nenhum dado adicional é necessário após a estrutura WAVEFORMATEX .
wmcodecdsp.h WAVE_FORMAT_MPEG_LOAS (0x1602)
MEDIASUBTYPE_RAW_AAC1 AAC bruto.
O bloco de formato é uma estrutura WAVEFORMATEX com wFormatTag igual a WAVE_FORMAT_RAW_AAC1.
A estrutura WAVEFORMATEX especifica a taxa de amostragem e o número de canais no áudio decodificado após a aplicação das ferramentas SBR e PS, se houver.
A estrutura WAVEFORMATEX é seguida por bytes adicionais que contêm os dados AudioSpecificConfig(), conforme definido por ISO/IEC 14496-3 (MPEG-4 Audio).
O comprimento dos dados AudioSpecificConfig() é de 2 bytes para AAC-LC ou HE-AAC com sinalização implícita de SBR/PS. São mais de 2 bytes para HE-AAC com sinalização explícita de SBR/PS.
wmcodecdps.h WAVE_FORMAT_RAW_AAC1 (0x00FF)

Tipos de áudio Dolby

GUID Descrição Cabeçalho Marca de formato equivalente
MEDIASUBTYPE_DOLBY_DDPLUS Áudio do Dolby Digital Plus. wmcodecdsp.h n/d
MEDIASUBTYPE_DOLBY_AC3 Áudio do Dolby Digital (AC-3). ksuuids.h n/d
MEDIASUBTYPE_DOLBY_AC3_SPDIF Dolby AC-3 sobre S/PDIF. uuids.h WAVE_FORMAT_DOLBY_AC3_SPDIF (0x0092)
MEDIASUBTYPE_DVM Codec DO DVM AC-3. Usado ao reproduzir arquivos AVI com áudio Dolby Digital.
O bloco de formato é uma estrutura WAVEFORMATEX com a marca de formato igual a WAVE_FORMAT_DVM.
wmcodecdsp.h WAVE_FORMAT_DVM (0x2000)
MEDIASUBTYPE_RAW_SPORT AC-3 sobre S/PDIF; consulte Comentários. uuids.h WAVE_FORMAT_RAW_SPORT (0x0240)
MEDIASUBTYPE_SPDIF_TAG_241h AC-3 sobre S/PDIF; consulte Comentários. uuids.h WAVE_FORMAT_ESST_AC3 (0x0241)

Para especificar o AC-3 acolchoado, use o subtipo MEDIASUBTYPE_DOLBY_AC3_SPDIF, que corresponde a uma marca de formato de 0x0092 (WAVE_FORMAT_DOLBY_AC3_SPDIF). Os valores 0x240 e 0x241 também foram usados para indicar ac-3 acolchoado, mas a Microsoft incentiva o uso de 0x0092.

Tipos de áudio diversos

GUID Descrição Cabeçalho Marca de formato equivalente
MEDIASUBTYPE_DRM_Audio Áudio com proteção drm (gerenciamento de direitos digitais). uuids.h WAVE_FORMAT_DRM (0x0009)
MEDIASUBTYPE_DTS Áudio DTS (Sistemas de Teatro Digital).
O bloco de formato é uma estrutura WAVEFORMATEX com a marca de formato igual a WAVE_FORMAT_UNKNOWN.
ksuuids.h n/d
MEDIASUBTYPE_DTS2 Áudio DTS (Sistemas de Teatro Digital).
O bloco de formato é uma estrutura WAVEFORMATEX com a marca de formato igual a WAVE_FORMAT_DTS2.
Esse subtipo é equivalente a MEDIASUBTYPE_DTS , mas usa uma marca de formato diferente.
wmcodecdsp.h WAVE_FORMAT_DTS2 (0x2001)
MEDIASUBTYPE_DVD_LPCM_AUDIO Dados de áudio de DVD. ksuuids.h n/d
MEDIASUBTYPE_MPEG1AudioPayload Conteúdo de áudio MPEG-1. uuids.h WAVE_FORMAT_MPEG (0x0050)
MEDIASUBTYPE_MPEG1Packet Pacote de áudio MPEG1. uuids.h n/d
MEDIASUBTYPE_MPEG1Payload Conteúdo de áudio MPEG1. uuids.h n/d
MEDIASUBTYPE_MPEG2_AUDIO Dados de áudio MPEG-2. ksuuids.h n/d

Marcas de formato de áudio

O campo wFormatTag na estrutura WAVEFORMATEX especifica o tipo de formato de áudio. Os exemplos de mídia geralmente são um número inteiro de amostras, conforme especificado no campo wBitsPerSample na estrutura WAVEFORMATEX . Isso não é necessariamente verdadeiro para exemplos de áudio MPEG que podem vir de fluxos empacotados e, portanto, não são necessariamente empacotados em limites de exemplo/quadro. Para áudio MPEG, o carimbo de data/hora em um exemplo de mídia é o carimbo de data/hora do primeiro quadro cujo primeiro byte está contido no exemplo de mídia.

Os subtipos de mídia são definidos para cada wFormatTag da seguinte maneira:

  • O subcampo Data1 do GUID do subtipo é o mesmo que o valor wFormatTag .
  • O campo Dados 2 é 0.
  • O campo Dados 3 é 0x0010.
  • O campo Dados 4 é 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71.

Portanto, para áudio PCM, o GUID do subtipo (definido em uuids.h como MEDIASUBTYPE_PCM) é:

{00000001-0000-0010-8000-00AA00389B71}

A função CreateAudioMediaType pode ser usada para criar uma estrutura AM_MEDIA_TYPE de uma estrutura WAVEFORMATEX .

Tipos de áudio obsoletos

Os seguintes subtipos de áudio são obsoletos e não devem ser usados:

  • MEDIASUBTYPE_MPEG_RAW_AAC
  • MEDIASUBTYPE_PCMAudioObsolete

Confira também

AM_MEDIA_TYPE

Tipos de mídia