다음을 통해 공유


ISimpleAudioVolume::SetMute 메서드(audioclient.h)

SetMute 메서드는 오디오 세션의 음소거 상태를 설정합니다.

구문

HRESULT SetMute(
  [in] const BOOL bMute,
  [in] LPCGUID    EventContext
);

매개 변수

[in] bMute

새 음소거 상태입니다. TRUE 를 사용하면 음소거가 가능합니다. FALSE 는 음소거를 사용하지 않도록 설정합니다.

[in] EventContext

이벤트 컨텍스트 GUID에 대한 포인터입니다. 이 메서드를 호출하면 볼륨 변경 이벤트가 생성되면 세션 관리자는 세션 관리자에 IAudioSessionEvents 인터페이스를 등록한 모든 클라이언트에 알림을 보냅니다. 세션 관리자에는 각 알림과 함께 EventContext 포인터 값이 포함됩니다. 알림을 받으면 클라이언트는 EventContext 값을 검사하여 해당 클라이언트 또는 다른 클라이언트가 이벤트의 원본인지 여부를 확인할 수 있습니다. 이 체계는 세션의 모든 클라이언트에서 고유한 이 매개 변수에 대한 값을 선택하는 클라이언트에 따라 달라집니다. 호출자가 이 매개 변수에 대한 NULL 포인터를 제공하는 경우 클라이언트의 알림 메서드는 NULL 컨텍스트 포인터를 받습니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드에는 다음 표에 표시된 값이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
AUDCLNT_E_DEVICE_INVALIDATED
오디오 엔드포인트 디바이스가 분리되었거나 오디오 하드웨어 또는 관련 하드웨어 리소스가 다시 구성, 비활성화, 제거 또는 사용할 수 없게 되었습니다.
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 오디오 서비스가 실행되고 있지 않습니다.

설명

이 메서드는 메서드 호출이 세션의 음소거 상태를 사용 안 함에서 사용 안 함으로 변경하거나 사용 안 함으로 변경하는 경우에만 볼륨 변경 이벤트를 생성합니다. 예를 들어 호출이 발생할 때 음소거를 사용하도록 설정하고 호출에서 음소거를 사용하도록 설정하면 이벤트가 생성되지 않습니다.

이 메서드는 오디오 세션의 모든 채널에 동일한 음소거 상태를 적용합니다. 엔드포인트 디바이스는 항상 세션의 모든 채널에서 음소거를 균일하게 적용합니다. 개별 채널의 음소거 상태를 설정하기 위한 IChannelAudioVolume 메서드는 없습니다.

클라이언트는 SimpleAudioVolume::GetMute 메서드를 호출하여 오디오 세션의 음소거 상태를 가져올 수 있습니다.

요구 사항

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

추가 정보

IAudioSessionEvents 인터페이스

IChannelAudioVolume 인터페이스

ISimpleAudioVolume 인터페이스

ISimpleAudioVolume::GetMute