Control de volumen de descodificador
[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.
Las aplicaciones controlan el volumen de audio a través de la interfaz IBasicAudio . Se proporciona un controlador de interfaz IBasicAudio para KSProxy. Para que un descodificador controle los comandos de volumen de KSProxy, debe agregar varias claves del Registro en su script de instalación y admitir el conjunto de propiedades KSPROPSETID_Wave .
Cree algunas claves del Registro para el controlador:
HKLM\SYSTEM\
CurrentControlSet\Control
DeviceClasses
(decoder guid, eg 2721AE....)
(Pnp id, eg ##?#VDGENDEV#...)
#GLOBAL
Device Parameters
CLSID REG_SZ {17CCA...}
FriendlyName REG_SZ WDM DVD Driver
Interfaces <--- create this key
{b9f8ac3e-0f71-11d2-b72c-00c04fb6bd3d} // Create this key.
MediaInterfaces
{b9f8ac3e-0f71-11d2-b72c-00c04fb6bd3d} // Create this key.
(default) REG_SZ 'KsProxy IBasicAudio handler' // Set this value.
IID REG_SZ 56 a8 68 b3 0a d4 11 ce b0 3a 00 20 af 0b a7 70
// Create this key.
Para implementar el control de volumen, el controlador también debe admitir KSPROPSETID_Wave, junto con KsProperty.Id = KSPROPERTY_WAVE_VOLUME. Esta propiedad se pasa al controlador a través de los métodos IKsPropertySet::Get e IKsPropertySet::Set . Los campos LeftAttenuation y RightAttentuation especifican los volúmenes del altavoz izquierdo o derecho como valores lineales de 0x0000 a 0xffff.
Temas relacionados