Controles de volumen de Audio-Tapered
La interfaz IAudioEndpointVolume administra los controles de volumen que son cintas de audio. Estos controles son adecuados para aplicaciones windows que muestran controles deslizantes de volumen. Para un control deslizante de volumen asociado a un control de volumen con cinta de audio, cada cambio en la posición del control deslizante genera un cambio en la intensidad percibido que es proporcional a la distancia que recorre el control deslizante. Para una distancia de desplazamiento determinada, la cantidad por la que aumenta o disminuye la intensidad percibido es aproximadamente la misma independientemente de si el movimiento del control deslizante se produce en la parte inferior, superior o central del intervalo de movimiento del control deslizante. La intensidad percibido varía aproximadamente linealmente con el logaritmo de la potencia de señal de audio.
El término punteador de audio originalmente se refiere a la forma enredada del elemento resistivo en un potenciómetro que se utiliza como control de volumen en un dispositivo de electrónica de audio. Un elemento resistivo con cinta de audio es más ancho en la posición del volumen cero y más estrecho en la posición máxima del volumen. El potenciómetro controla el nivel de voltaje de la señal de audio que el dispositivo reproduce a través de sus altavoces. La cinta está diseñada para producir una relación aproximadamente lineal entre la posición del wiper potenciómetro y la voz percibido en los altavoces. La relación entre la posición del wiper y el voltaje en los altavoces es no lineal.
En cambio, un elemento resistivo con un taper lineal tiene un ancho uniforme sobre el rango de movimiento del wiper del potenciómetro. Como resultado, el voltaje en los altavoces varía linealmente con la posición del wiper. La relación entre la posición del wiper y el ruido es no lineal.
De forma similar, una aplicación de Windows que muestra un control deslizante de volumen define una relación entre la posición del control deslizante y el nivel de señal de salida en los altavoces. La relación puede, en efecto, ser cinta lineal o cinta de audio.
En el diagrama siguiente se muestra la asignación de la posición del control deslizante a la tensión de salida y a la intensidad percibido para un control de volumen con cinta lineal.
En el lado izquierdo del diagrama anterior, el nivel de voltaje de salida del convertidor digital a analógico de audio (DAC) aumenta linealmente a medida que el control deslizante de volumen se mueve de su posición mínima (etiquetada Min) a su posición máxima (etiquetada Como máximo). La etiqueta VFS en el eje vertical representa el voltaje de salida DAC a escala completa.
Sin embargo, la ruidosidad percibido varía aproximadamente como el logaritmo de la potencia de la señal de audio, como se muestra en el lado derecho del diagrama anterior. Por lo tanto, el movimiento del control deslizante durante un intervalo cercano al valor mínimo da como resultado un cambio relativamente grande en la intensidad percibido, pero el movimiento deslizante durante un intervalo del mismo ancho cerca del valor máximo provoca un cambio relativamente pequeño en la voz percibido.
En el lado derecho del diagrama anterior, la intensidad en el eje vertical se mide en decibelios (dB) en relación con la configuración de energía de escala completa (en 0 decibelios). La curva de alta intensidad interseca el eje vertical en menos infinito, pero solo la parte de la curva de 0 decibelios a –96 decibelios aparece en el diagrama. La decisión de mostrar solo esta parte de la curva es algo arbitraria, pero –96 decibelios representa convenientemente la potencia en el nivel de salida siguiente a más bajo de una DAC de 16 bits en relación con la potencia de escala completa. Este valor se calcula como 20. log₁₀(1/65535).
Dado que los pequeños cambios en la posición del control deslizante cerca de la configuración mínima del diagrama anterior producen grandes cambios en la intensidad, el usuario podría encontrar el volumen difícil de controlar sobre esta región. Los movimientos de control deslizante relativamente pequeños pueden empujar el volumen por encima o por debajo del nivel deseado. Un control de volumen mejorado proporcionaría una relación más lineal entre la posición del control deslizante y la intensidad.
En el diagrama siguiente se muestra la asignación de la posición del control deslizante a la tensión de salida y a la intensidad percibido para un control de volumen con cinta de audio.
Como se muestra en el lado derecho del diagrama anterior, la intensidad percibido varía aproximadamente linealmente con los cambios en la posición del control deslizante. Para que esto ocurra, la tensión DAC debe variar de forma no lineal con la posición, como se muestra en el lado izquierdo del diagrama. La curva asintomáticamente se acerca a 0 voltios a medida que el control deslizante se mueve hacia la izquierda desde el valor máximo. El voltaje en la posición mínima del control deslizante es muy pequeño, pero podría no ser exactamente cero.
Los métodos siguientes en la interfaz IAudioEndpointVolume usan la configuración de volumen que se mide en decibelios:
- IAudioEndpointVolume::GetChannelVolumeLevel
- IAudioEndpointVolume::GetMasterVolumeLevel
- IAudioEndpointVolume::SetChannelVolumeLevel
- IAudioEndpointVolume::SetMasterVolumeLevel
Estos métodos generan una relación aproximadamente lineal entre la configuración del volumen y la intensidad percibido. El intervalo de volúmenes en decibelios de los controles de volumen administrados por estos métodos depende del dispositivo de punto de conexión de audio. Para determinar el intervalo de volúmenes de un dispositivo determinado, llame al método IAudioEndpointVolume::GetVolumeRange .
Por el contrario, la configuración del volumen de los métodos siguientes en la interfaz IAudioEndpointVolume sigue una curva más suavemente cónica sobre el intervalo de volúmenes:
- IAudioEndpointVolume::GetChannelVolumeLevelScalar
- IAudioEndpointVolume::GetMasterVolumeLevelScalar
- IAudioEndpointVolume::SetChannelVolumeLevelScalar
- IAudioEndpointVolume::SetMasterVolumeLevelScalar
- IAudioEndpointVolume::VolumeStepDown
- IAudioEndpointVolume::VolumeStepUp
En Windows Vista, estos métodos usan una curva intermedia entre la curva con cinta de audio que se muestra en el diagrama anterior y una curva con cinta lineal. Tenga en cuenta que la forma de la curva puede cambiar en versiones futuras de Windows. Los cuatro primeros métodos de la lista anterior expresan los niveles de volumen como valores normalizados en el intervalo de 0,0 (volumen mínimo) a 1,0 (volumen máximo). Para los dos últimos métodos de la lista, llame al método IAudioEndpointVolume::GetVolumeStepInfo para obtener el número de pasos del intervalo de volúmenes.
Las interfaces siguientes usan curvas de cinta lineal para su configuración de volumen:
Para obtener más información sobre estas interfaces, consulte Controles de volumen de sesión. Y para obtener información sobre los intervalos de volúmenes y los niveles de volumen predeterminados en las distintas versiones de Windows, consulte Configuración predeterminada del volumen de audio.
Temas relacionados