다음을 통해 공유


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

SetChannelVolumeLevelScalar 메서드는 오디오 엔드포인트 디바이스를 입력하거나 종료하는 오디오 스트림에서 지정된 채널의 정규화된 오디오 테이퍼 볼륨 수준을 설정합니다.

구문

HRESULT SetChannelVolumeLevelScalar(
  [in] UINT    nChannel,
  [in] float   fLevel,
  [in] LPCGUID pguidEventContext
);

매개 변수

[in] nChannel

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

[in] fLevel

볼륨 수준입니다. 볼륨 수준은 0.0에서 1.0까지의 범위에서 정규화된 값으로 표현됩니다.

[in] pguidEventContext

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

반환 값

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

반환 코드 설명
E_INVALIDARG
매개 변수 nChannel 은 스트림의 채널 수보다 크거나 같습니다. 또는 매개 변수 fLevel 이 0.0에서 1.0까지 범위를 벗어났습니다.
E_OUTOFMEMORY
메모리가 부족합니다.

설명

볼륨 수준은 0.0에서 1.0까지의 범위로 정규화됩니다. 여기서 0.0은 최소 볼륨 수준이고 1.0은 최대 수준입니다. 이 범위 내에서 정규화된 볼륨 수준과 신호 진폭 감쇠의 관계는 비선형 오디오 테이퍼 곡선으로 설명됩니다. 곡선의 모양은 이후 버전의 Windows에서 변경될 수 있습니다. 오디오 테이퍼 곡선에 대한 자세한 내용은 오디오 테이퍼 볼륨 컨트롤을 참조하세요.

이 메서드에 전달되는 정규화된 볼륨 수준은 애플리케이션 창 및 화면 디스플레이에서 볼륨 컨트롤의 위치를 나타내는 데 적합합니다.

요구 사항

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

추가 정보

IAudioEndpointVolume 인터페이스

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolumeCallback 인터페이스

IAudioEndpointVolumeCallback::OnNotify