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