Share via


디코더 볼륨 제어

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

애플리케이션은 IBasicAudio 인터페이스를 통해 오디오 볼륨을 제어합니다. KSProxy에 대해 IBasicAudio 인터페이스 처리기가 제공됩니다. 디코더가 KSProxy의 볼륨 명령을 처리하려면 설정 스크립트에 여러 레지스트리 키를 추가하고 KSPROPSETID_Wave 속성 집합을 지원해야 합니다.

드라이버에 대한 몇 가지 새 레지스트리 키를 만듭니다.

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.

볼륨 제어를 구현하려면 드라이버가 KsProperty.Id = KSPROPERTY_WAVE_VOLUME 함께 KSPROPSETID_Wave 지원해야 합니다. 이 속성은 IKsPropertySet::GetIKsPropertySet::Set 메서드를 통해 드라이버에 전달됩니다. LeftAttenuation 및 RightAttentuation 필드는 왼쪽/오른쪽 스피커 볼륨을 0x0000 0xffff 선형 값으로 지정합니다.

디코더 인터페이스 및 사양