Interfaz IMFAudioStreamVolume (mfidl.h)

Controla los niveles de volumen de canales de audio individuales.

El representador de audio de streaming (SAR) expone esta interfaz como servicio. Para obtener un puntero a la interfaz, llame a IMFGetService::GetService con el identificador de servicio MR_STREAM_VOLUME_SERVICE. Puede llamar a GetService directamente en el SAR o llamarlo en la sesión multimedia.

Herencia

La interfaz IMFAudioStreamVolume hereda de la interfaz IUnknown . IMFAudioStreamVolume también tiene estos tipos de miembros:

Métodos

La interfaz IMFAudioStreamVolume tiene estos métodos.

 
IMFAudioStreamVolume::GetAllVolumes

Recupera los niveles de volumen de todos los canales de la secuencia de audio.
IMFAudioStreamVolume::GetChannelCount

Recupera el número de canales en la secuencia de audio.
IMFAudioStreamVolume::GetChannelVolume

Recupera el nivel de volumen de un canal especificado en la secuencia de audio.
IMFAudioStreamVolume::SetAllVolumes

Establece los niveles de volumen individuales para todos los canales de la secuencia de audio.
IMFAudioStreamVolume::SetChannelVolume

Establece el nivel de volumen de un canal especificado en la secuencia de audio.

Comentarios

Si la aplicación no requiere control de volumen de nivel de canal, puede usar la interfaz IMFSimpleAudioVolume para controlar el nivel de volumen maestro de la sesión de audio.

El volumen se expresa como un nivel de atenuación, donde 0,0 indica silencio y 1,0 indica volumen completo (sin atenuación). Para cada canal, el nivel de atenuación es el producto de:

  • Nivel de volumen maestro de la sesión de audio.
  • Nivel de volumen del canal.
Por ejemplo, si el volumen maestro es 0,8 y el volumen del canal es 0,5, la atenuación de ese canal es 0,8 × 0,5 = 0,4. Los niveles de volumen pueden superar los 1,0 (ganancia positiva), pero el motor de audio recorta cualquier muestra de audio que supere cero decibelios.

Use la fórmula siguiente para convertir el nivel de volumen a la escala de decibel (dB):

Atenuación (dB) = 20 * log10(Level)

Por ejemplo, un nivel de volumen de 0,50 representa 6,02 dB de atenuación.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mfidl.h

Consulte también

Interfaces de Media Foundation

Representador de audio de streaming