Estructura MPEG1WAVEFORMAT (mmreg.h)
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
La MPEG1WAVEFORMAT
estructura describe el formato de los datos de audio MPEG-1.
Sintaxis
typedef struct mpeg1waveformat_tag {
WAVEFORMATEX wfx;
WORD fwHeadLayer;
DWORD dwHeadBitrate;
WORD fwHeadMode;
WORD fwHeadModeExt;
WORD wHeadEmphasis;
WORD fwHeadFlags;
DWORD dwPTSLow;
DWORD dwPTSHigh;
} MPEG1WAVEFORMAT;
Miembros
wfx
Estructura WAVEFORMATEX que contiene información sobre el formato de audio. Vea la sección Comentarios.
fwHeadLayer
Especifica la capa de audio MPEG, tal como se define en las siguientes constantes:
Valor | Significado |
---|---|
|
Capa 1 |
|
Capa 2 |
|
Capa 3 |
Algunas secuencias MPEG pueden contener fotogramas de más de una capa. Si es así, combine las marcas con un OR bit a bit.
dwHeadBitrate
Especifica la velocidad de bits, en bits por segundo. Este valor proporciona la velocidad de bits real, no el código de encabezado del marco MPEG. Si la velocidad de bits es variable o es una velocidad de bits no estándar, establezca este campo en cero.
fwHeadMode
Especifica el modo de secuencia, tal y como se define en las siguientes constantes:
Valor | Significado |
---|---|
|
Estéreo |
|
Estéreo conjunto |
|
Canal dual |
|
Canal único |
Algunas secuencias MPEG pueden contener fotogramas con diferentes modos. Si es así, combine las marcas con un OR bit a bit.
fwHeadModeExt
Especifica la extensión de modo para la codificación estéreo conjunta:
Valor | Código de encabezado de marco MPEG | Capas 1 y 2 | Capa 3 |
---|---|---|---|
0x01 | '00' | Intensidad estéreo en bandas de 4 a 31 | Intensidad estéreo desactivado; Estéreo central/lateral (MS) desactivado |
0x02 | '01' | Estéreo de intensidad en bandas de 8 a 31 | Intensidad estéreo en; MS estéreo desactivado |
0x04 | '10' | Estéreo de intensidad en bandas de 12 a 31 | Intensidad estéreo desactivado; MS estéreo en |
0x08 | '11' | Estéreo de intensidad en bandas de 16 a 31 | Intensidad estéreo desactivado; MS estéreo en |
Estos valores se pueden combinar con un OR bit a bit. En general, los codificadores cambiarán dinámicamente entre los modos de extensión según las características de la señal. Por lo tanto, para la codificación normal en estéreo de la articulación, establezca este campo en 0x0F (or bit a bit de todas las marcas). Sin embargo, puede usar este campo para limitar el codificador a un conjunto de tipos de codificación permitidos.
Este campo solo se aplica cuando fwHeadMode incluye ACM_MPEG_JOINTSTEREO. Para otros modos, establezca este campo en cero.
wHeadEmphasis
Especifica el énfasis requerido por el descodificador:
Valor | Encabezado de marco MPEG | Se requiere desasistencia del código |
---|---|---|
1 | '00' | None |
2 | '01' | Énfasis de 50/15 ms |
3 | '10' | Reservado |
4 | '11' | CCITT J.17 |
fwHeadFlags
Especifica una combinación bit a bit de cero o más de las marcas siguientes:
Un codificador usará estas marcas para establecer los bits correspondientes en los encabezados de marco de audio MPEG.
dwPTSLow
Especifica los 32 bits menos significativos de la marca de tiempo de presentación (PTS) del primer fotograma de la secuencia de audio.
dwPTSHigh
Especifica el bit más significativo del PTS. Los campos dwPTSLow y dwPTSHigh se pueden tratar como un único valor de 64 bits.
Observaciones
Para el audio MPEG-1, la estructura WAVEFORMATEX definida en el miembro wfx debe tener los valores siguientes.
Miembro WAVEFORMATEX | Descripción |
---|---|
wFormatTag | Debe ser WAVE_FORMAT_MPEG |
nChannels | 1 para mono, 2 para estéreo |
nSamplesPerSec | Especifica la frecuencia de muestreo, si la frecuencia de muestreo es fija. Si es variable, establezca este campo en cero. |
nAvgBytesPerSec | Especifica la velocidad media de datos. Si la codificación de velocidad de bits variable se usa en la capa 3, es posible que el valor no sea una velocidad de bits MPEG-1 legal. |
nBlockAlign | En el caso de las secuencias de audio con una longitud fija de fotogramas de audio, este campo especifica la longitud del marco de audio. Si la longitud del fotograma es variable, establezca este campo en 1.Si la frecuencia de muestreo es de 32 kHz o 48 kHz y la velocidad de bits es constante, el tamaño del fotograma de audio es constante. En ese caso, calcule nBlockAlign de la siguiente manera:
|
wBitsPerSample | No utilizado; se establece en cero. |
cbSize | Especifica el tamaño de los datos de formato después de la estructura WAVEFORMATEX , en bytes. Para la estructura MPEG1WAVEFORMAT estándar, este valor es de 22 bytes. |
Requisitos
Encabezado | mmreg.h |