Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 Captura de Áudio/Vídeo no 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.]
A MPEG1WAVEFORMAT estrutura descreve o formato dos dados de áudio MPEG-1.
Sintaxe
typedef struct mpeg1waveformat_tag {
WAVEFORMATEX wfx;
WORD fwHeadLayer;
DWORD dwHeadBitrate;
WORD fwHeadMode;
WORD fwHeadModeExt;
WORD wHeadEmphasis;
WORD fwHeadFlags;
DWORD dwPTSLow;
DWORD dwPTSHigh;
} MPEG1WAVEFORMAT;
Membros
wfx
Estrutura WAVEFORMATEX que contém informações sobre o formato de áudio. Consulte Observações.
fwHeadLayer
Especifica a camada de áudio MPEG, conforme definido pelas seguintes constantes:
| Valor | Significado |
|---|---|
|
Camada 1 |
|
Camada 2 |
|
Camada 3 |
Alguns fluxos MPEG podem conter quadros de mais de uma camada. Nesse caso, combine os sinalizadores com um OR bit a bit.
dwHeadBitrate
Especifica a taxa de bits, em bits por segundo. Esse valor fornece a taxa de bits real, não o código de cabeçalho de quadro MPEG. Se a taxa de bits for variável ou for uma taxa de bits não padrão, defina esse campo como zero.
fwHeadMode
Especifica o modo de fluxo, conforme definido pelas seguintes constantes:
| Valor | Significado |
|---|---|
|
Estéreo |
|
Estéreo conjunto |
|
Canal duplo |
|
Canal único |
Alguns fluxos MPEG podem conter quadros com modos diferentes. Nesse caso, combine os sinalizadores com um OR bit a bit.
fwHeadModeExt
Especifica a extensão de modo para codificação estéreo conjunta:
| Valor | Código de cabeçalho de quadro MPEG | Camadas 1 e 2 | Camada 3 |
|---|---|---|---|
| 0x01 | '00' | Intensidade estéreo nas bandas 4 a 31 | Intensidade estéreo desativado; Estéreo médio/lateral (MS) desativado |
| 0x02 | '01' | Intensidade estéreo nas bandas 8 a 31 | Intensidade estéreo ativada; Estéreo MS desativado |
| 0x04 | '10' | Intensidade estéreo nas bandas 12 a 31 | Intensidade estéreo desativado; Estéreo MS ativado |
| 0x08 | '11' | Intensidade estéreo nas bandas 16 a 31 | Intensidade estéreo desativado; Estéreo MS ativado |
Esses valores podem ser combinados com um OR bit a bit. Em geral, os codificadores alternarão dinamicamente entre os modos de extensão de acordo com as características do sinal. Portanto, para codificação estéreo articular normal, defina esse campo como 0x0F (o OR bit a bit de todos os sinalizadores). No entanto, você pode usar esse campo para limitar o codificador a um conjunto de tipos de codificação permitidos.
Esse campo só se aplica quando fwHeadMode inclui ACM_MPEG_JOINTSTEREO. Para outros modos, defina esse campo como zero.
wHeadEmphasis
Especifica a desescente exigida pelo decodificador:
| Valor | Cabeçalho de quadro MPEG | Desescente de código Obrigatório |
|---|---|---|
| 1 | '00' | Nenhum |
| 2 | '01' | Ênfase de 50/15 ms |
| 3 | '10' | Reservado |
| 4 | '11' | CCITT J.17 |
fwHeadFlags
Especifica uma combinação bit a bit de zero ou mais dos seguintes sinalizadores:
Um codificador usará esses sinalizadores para definir os bits correspondentes nos cabeçalhos do quadro de áudio MPEG.
dwPTSLow
Especifica os 32 bits menos significativos do PTS (carimbo de data/hora) da apresentação do primeiro quadro do fluxo de áudio.
dwPTSHigh
Especifica o bit mais significativo do PTS. Os campos dwPTSLow e dwPTSHigh podem ser tratados como um único valor de 64 bits.
Comentários
Para áudio MPEG-1, a estrutura WAVEFORMATEX definida no membro wfx deve ter os valores a seguir.
| Membro WAVEFORMATEX | Descrição |
|---|---|
| Wformattag | Deve ser WAVE_FORMAT_MPEG |
| nChannels | 1 para mono, 2 para estéreo |
| nSamplesPerSec | Especifica a frequência de amostragem, se a frequência de amostragem for fixa. Se for variável, defina esse campo como zero. |
| nAvgBytesPerSec | Especifica a taxa média de dados. Se a codificação de taxa de bits variável for usada na camada 3, o valor poderá não ser uma taxa de bits MPEG-1 legal. |
| nBlockAlign | Para fluxos de áudio com um comprimento de quadro de áudio fixo, esse campo especifica o comprimento do quadro de áudio. Se o comprimento do quadro for variável, defina esse campo como 1.Se a frequência de amostragem for de 32 kHz ou 48 kHz e a taxa de bits for constante, o tamanho do quadro de áudio será constante. Nesse caso, calcule nBlockAlign da seguinte maneira:
|
| wBitsPerSample | Não usado; definido como zero. |
| cbSize | Especifica o tamanho dos dados de formato após a estrutura WAVEFORMATEX , em bytes. Para a estrutura MPEG1WAVEFORMAT padrão, esse valor é de 22 bytes. |
Requisitos
| Cabeçalho | mmreg.h |