다음을 통해 공유


IMFSimpleAudioVolume 인터페이스(mfidl.h)

SAR(스트리밍 오디오 렌더러) 및 오디오 캡처 원본과 연결된 오디오 세션의 master 볼륨 수준을 제어합니다.

SAR 및 오디오 캡처 원본은 이 인터페이스를 서비스로 노출합니다. 인터페이스에 대한 포인터를 얻으려면 IMFGetService::GetService를 호출합니다. SAR의 경우 서비스 식별자 MR_POLICY_VOLUME_SERVICE 사용합니다. 오디오 캡처 원본의 경우 서비스 식별자 MR_CAPTURE_POLICY_VOLUME_SERVICE 사용합니다. SAR 또는 오디오 캡처 원본에서 직접 GetService 를 호출하거나 미디어 세션에서 호출할 수 있습니다.

상속

IMFSimpleAudioVolume 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IMFSimpleAudioVolume 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IMFSimpleAudioVolume 인터페이스에는 이러한 메서드가 있습니다.

 
IMFSimpleAudioVolume::GetMasterVolume

master 볼륨 수준을 검색합니다.
IMFSimpleAudioVolume::GetMute

오디오가 음소거되었는지 여부를 쿼리합니다. (IMFSimpleAudioVolume.GetMute)
IMFSimpleAudioVolume::SetMasterVolume

master 볼륨 수준을 설정합니다.
IMFSimpleAudioVolume::SetMute

오디오를 음소거하거나 음소거 해제합니다. (IMFSimpleAudioVolume.SetMute)

설명

개별 채널의 볼륨 수준을 제어하려면 IMFAudioStreamVolume 인터페이스를 사용합니다. IMFAudioStreamVolume 인터페이스는 SAR에서만 지원됩니다.

볼륨은 감쇠 수준으로 표현됩니다. 여기서 0.0은 무음, 1.0은 전체 볼륨(감쇠 없음)을 나타냅니다. 각 채널의 감쇠 수준은 다음의 산물입니다.

  • 오디오 세션의 master 볼륨 수준입니다.
  • 채널의 볼륨 수준입니다.
예를 들어 master 볼륨이 0.8이고 채널 볼륨이 0.5인 경우 해당 채널의 감쇠는 0.8 × 0.5 = 0.4입니다. 볼륨 수준은 1.0(양의 게인)을 초과할 수 있지만 오디오 엔진은 0 데시벨을 초과하는 오디오 샘플을 클립합니다. 개별 채널의 볼륨 수준을 변경하려면 IMFAudioStreamVolume 인터페이스를 사용합니다.

다음 수식을 사용하여 볼륨 수준을 decibel(dB) 눈금으로 변환합니다.

감쇠(dB) = 20 * log10(Level)

예를 들어 볼륨 수준 0.50은 6.02dB의 감쇠를 나타냅니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 mfidl.h

참고 항목

미디어 파운데이션 인터페이스

스트리밍 오디오 렌더러