다음을 통해 공유


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

GetVolumeRange 메서드는 오디오 엔드포인트 디바이스에 들어오거나 나가는 오디오 스트림의 볼륨 범위(데시벨)를 가져옵니다.

구문

HRESULT GetVolumeRange(
  [out] float *pflVolumeMindB,
  [out] float *pflVolumeMaxdB,
  [out] float *pflVolumeIncrementdB
);

매개 변수

[out] pflVolumeMindB

최소 볼륨 수준에 대한 포인터입니다. 이 매개 변수는 메서드가 최소 볼륨 수준을 데시벨로 쓰는 float 변수를 가리킵니다. 이 값은 IAudioEndpointVolume 인터페이스 instance 수명 동안 일정하게 유지됩니다.

[out] pflVolumeMaxdB

최대 볼륨 수준에 대한 포인터입니다. 이 매개 변수는 메서드가 최대 볼륨 수준을 데시벨로 쓰는 float 변수를 가리킵니다. 이 값은 IAudioEndpointVolume 인터페이스 instance 수명 동안 일정하게 유지됩니다.

[out] pflVolumeIncrementdB

볼륨 증가에 대한 포인터입니다. 이 매개 변수는 메서드가 볼륨 증분을 데시벨로 쓰는 float 변수를 가리킵니다. 이 증가는 IAudioEndpointVolume 인터페이스 instance 수명 동안 일정하게 유지됩니다.

반환 값

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

반환 코드 설명
E_POINTER
pfLevelMinDB, pfLevelMaxDB 또는 pfVolumeIncrementDB 매개 변수는 NULL입니다.

설명

vmin = *pfLevelMinDB에서 vmax = *pfLevelMaxDB까지의 볼륨 범위는 vinc = *pfVolumeIncrementDBn 균일한 간격으로 나뉩니다. 여기서

n = (vmax – vmin) / vinc.

vmin, vmax 및 vinc 값은 데시벨로 측정됩니다. 클라이언트는 vmin에서 vmax까지 범위의 n + 1 불연속 값 중 하나로 볼륨 수준을 설정할 수 있습니다.

IAudioEndpointVolume::SetChannelVolumeLevelIAudioEndpointVolume::SetMasterVolumeLevel 메서드는 vmin에서 vmax까지 범위의 볼륨 수준만 허용합니다. 호출자가 이 범위를 벗어나는 볼륨 수준을 지정하면 메서드가 실패하고 E_INVALIDARG 반환합니다. 호출자가 볼륨 범위의 두 단계 사이에 속하는 볼륨 수준을 지정하는 경우 메서드는 엔드포인트 볼륨 수준을 요청된 볼륨 수준에 가장 가까운 단계로 설정하고 S_OK 반환합니다. 그러나 IAudioEndpointVolume::GetChannelVolumeLevel 또는 IAudioEndpointVolume::GetMasterVolumeLevel 에 대한 후속 호출은 단계 값이 아닌 SetChannelVolumeLevel 또는 SetMasterVolumeLevel에 대한 이전 호출에서 요청한 볼륨 수준을 검색합니다.

볼륨 컨트롤이 하드웨어에서 구현되는 경우 GetVolumeRange 는 하드웨어 볼륨 설정의 범위와 세분성을 설명합니다. 반면, IEndpointVolume::GetVolumeStepInfo 메서드에서 보고하는 단계는 IEndpointVolume::VolumeStepDownIEndpointVolume::VolumeStepUp 메서드를 통해 소프트웨어에서 계산되는 오디오 테이퍼 곡선의 지점에 해당합니다. 두 방법 모두 먼저 곡선의 다음 점에 해당하는 이상적인 볼륨 수준을 계산합니다. 다음으로, 메서드는 이상화된 수준에 가장 적합한 하드웨어 볼륨 설정을 선택합니다. 오디오 테이퍼 곡선에 대한 자세한 내용은 오디오 테이퍼 볼륨 컨트롤을 참조하세요.

요구 사항

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

추가 정보

IAudioEndpointVolume 인터페이스

IAudioEndpointVolume::GetChannelVolumeLevel

IAudioEndpointVolume::GetMasterVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevel

IEndpointVolume::GetVolumeStepInfo

IEndpointVolume::VolumeStepDown

IEndpointVolume::VolumeStepUp