Share via


IAudioEndpointVolume::SetChannelVolumeLevel 메서드(endpointvolume.h)

SetChannelVolumeLevel 메서드는 오디오 엔드포인트 디바이스를 입력하거나 종료하는 오디오 스트림의 지정된 채널 볼륨 수준을 데시벨 단위로 설정합니다.

구문

HRESULT SetChannelVolumeLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

매개 변수

[in] nChannel

채널 번호입니다. 오디오 스트림에 n 채널이 포함된 경우 채널 번호는 0에서 n– 1로 지정됩니다. 채널 수를 가져오려면 IAudioEndpointVolume::GetChannelCount 메서드를 호출합니다.

[in] fLevelDB

새 볼륨 수준(데시벨)입니다. 이 메서드에서 설정할 수 있는 볼륨 수준의 범위와 세분성을 가져오려면 IAudioEndpointVolume::GetVolumeRange 메서드를 호출합니다.

[in] pguidEventContext

IAudioEndpointVolumeCallback::OnNotify 메서드의 컨텍스트 값입니다. 이 매개 변수는 이벤트 컨텍스트 GUID를 가리킵니다. SetChannelVolumeLevel 호출이 엔드포인트의 볼륨 수준을 변경하면 해당 엔드포인트에 IAudioEndpointVolumeCallback 인터페이스를 등록한 모든 클라이언트가 알림을 받습니다. OnNotify 메서드 구현에서 클라이언트는 이벤트 컨텍스트 GUID를 검사하여 이벤트 컨텍스트 GUID 또는 다른 클라이언트가 볼륨 변경 이벤트의 원본인지 여부를 검색할 수 있습니다. 호출자가 이 매개 변수에 대한 NULL 포인터를 제공하는 경우 알림 루틴은 GUID_NULL 컨텍스트 GUID 값을 받습니다.

반환 값

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

반환 코드 설명
E_INVALIDARG
매개 변수 nChannel 이 스트림의 채널 수보다 크거나 같습니다. 또는 매개 변수 fLevelDB 는 디바이스에서 지원하는 볼륨 범위를 벗어났습니다.
E_OUTOFMEMORY
메모리가 부족합니다.

설명

볼륨 수준 fLevelDBIAudioEndpointVolume::GetVolumeRange 메서드에서 보고한 볼륨 범위를 벗어나면 SetChannelVolumeLevel 호출이 실패하고 오류 코드 E_INVALIDARG 반환됩니다.

요구 사항

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

추가 정보

IAudioEndpointVolume 인터페이스

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolume::GetVolumeRange

IAudioEndpointVolumeCallback 인터페이스

IAudioEndpointVolumeCallback::OnNotify