Contrôle du volume du décodeur

Les applications contrôlent le volume audio par le biais de l’interface IBasicAudio . Un gestionnaire d’interface IBasicAudio est fourni pour KSProxy. Pour qu’un décodeur gère les commandes de volume à partir de KSProxy, il doit ajouter plusieurs clés de Registre dans son script d’installation et prendre en charge le jeu de propriétés _ Wave KSPROPSETID .

Créez de nouvelles clés de Registre pour le pilote :

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.

Pour implémenter le contrôle du volume, le pilote doit également prendre en charge KSPROPSETID _ Wave, ainsi que KsProperty.ID = KsProperty _ Wave _ volume. Cette propriété est passée au pilote par le biais des méthodes IKsPropertySet :: obten et IKsPropertySet :: Set . Les champs LeftAttenuation et RightAttentuation spécifient les volumes de haut-parleur gauche/droit comme valeurs linéaires de 0x0000 à 0xFFFF.

Interfaces et spécifications du décodeur