Condividi tramite


Controllo volume decodificatore

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Le applicazioni controllano il volume audio tramite l'interfaccia IBasicAudio . Per KSProxy viene fornito un gestore di interfaccia IBasicAudio . Affinché un decodificatore gestisca i comandi del volume da KSProxy, deve aggiungere diverse chiavi del Registro di sistema nello script di installazione e supportare il set di proprietà KSPROPSETID_Wave .

Creare alcune nuove chiavi del Registro di sistema per il driver:

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.

Per implementare il controllo volume, il driver deve supportare anche KSPROPSETID_Wave, insieme a KsProperty.Id = KSPROPERTY_WAVE_VOLUME. Questa proprietà viene passata al driver tramite i metodi IKsPropertySet::Get e IKsPropertySet::Set . I campi LeftAttenuation e RightAttentuation specificano i volumi dell'altoparlante sinistro/destro come valori lineari da 0x0000 a 0xffff.

Interfacce e specifiche del decodificatore