Share via


IChannelAudioVolume::SetChannelVolume 메서드(audioclient.h)

SetChannelVolume 메서드는 오디오 세션에서 지정된 채널의 볼륨 수준을 설정합니다.

구문

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

매개 변수

[in] dwIndex

채널 번호입니다. 오디오 세션의 스트림 형식에 N 채널이 있는 경우 채널 번호는 0에서 N- 1로 지정됩니다. 채널 수를 얻으려면 IChannelAudioVolume::GetChannelCount 메서드를 호출합니다 .

[in] fLevel

채널의 볼륨 수준입니다. 유효한 볼륨 수준은 0.0~1.0 범위에 있습니다.

[in] EventContext

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

반환 값

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

반환 코드 설명
E_INVALIDARG
매개 변수 dwIndex 가 잘못된 채널 번호로 설정되었거나 fLevel 매개 변수가 0.0~1.0 범위에 없습니다.
AUDCLNT_E_DEVICE_INVALIDATED
오디오 엔드포인트 디바이스가 분리되었거나 오디오 하드웨어 또는 관련 하드웨어 리소스가 다시 구성, 비활성화, 제거 또는 사용할 수 없게 되었습니다.
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 오디오 서비스가 실행되고 있지 않습니다.

설명

이 메서드가 성공하면 새 채널 볼륨 수준이 이전 채널 볼륨 수준과 값이 다른지 여부에 관계없이 채널 볼륨 변경 이벤트를 생성합니다.

요구 사항

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

추가 정보

IAudioSessionEvents 인터페이스

IChannelAudioVolume 인터페이스

IChannelAudioVolume::GetChannelCount