Compartir a través de


Trabajar con audio PCM de High-Resolution

[La característica asociada a esta página, SDK de Windows Media Format 11, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. El lector de origen y el sistema de escritura receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector de origen y escritor receptor en lugar del SDK de Windows Media Format 11, 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.

Algunos de los formatos de entrada para el códec Windows Media Audio 9 Professional y el códec Sin pérdida de Windows Media Audio 9 son formatos PCM de alta resolución. Estos son formatos PCM que tienen más de dos canales, o más de 16 bits por muestra (el audio con más de dos canales también se denomina audio multicanal).

Estos formatos se configuran mediante una extensión estructurada de la estructura WAVEFORMATEX , denominada WAVEFORMATEXTENSIBLE. La estructura WAVEFORMATEXTENSIBLE incluye información sobre los canales incluidos en el audio. Esta estructura es necesaria cuando se usa audio PCM de alta resolución, ya que algunas API de Windows no aceptarán estructuras WAVEFORMATEX que contengan valores de alta resolución.

Los formatos PCM de alta resolución tienen 22 bytes de datos extendidos, que se especifican en el miembro cbSize de la estructura WAVEFORMATEX . Los formatos de audio de Windows Media de alta resolución no usan la estructura WAVEFORMATEXTENSIBLE , pero tienen datos extendidos anexados a la estructura WAVEFORMATEX .

Los códecs de audio de Windows Media solo admiten la descodificación a formatos PCM de alta resolución cuando la aplicación se ejecuta en Windows XP o posterior. En versiones anteriores de Microsoft Windows, los códecs descodifican en un formato con un máximo de 16 bits por ejemplo y 2 canales. Además, debe especificar que desea que el códec descodifique a PCM de alta definición estableciendo el valor de salida de g_wszEnableDiscreteOutput en TRUE mediante el método IWMReaderAdvanced2::SetOutputSetting . Después de realizar esta llamada, las salidas enumeradas por el lector incluirán formatos de alta definición.

El audio multicanal requiere más configuración. Para obtener más información, consulte Lectura de audio multicanal.

Trabajar con entradas