다음을 통해 공유


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

GetVolumeStepInfo 메서드는 볼륨 범위의 현재 단계에 대한 정보를 가져옵니다.

구문

HRESULT GetVolumeStepInfo(
  [out] UINT *pnStep,
  [out] UINT *pnStepCount
);

매개 변수

[out] pnStep

메서드가 현재 단계 인덱스를 작성하는 UINT 변수에 대한 포인터입니다. 이 인덱스는 0에서 *pStepCount– 1까지의 범위의 값입니다. 여기서 0은 최소 볼륨 수준을 나타내고 *pStepCount – 1은 최대 수준을 나타냅니다.

[out] pnStepCount

메서드가 볼륨 범위의 단계 수를 쓰는 UINT 변수에 대한 포인터입니다. 이 숫자는 IAudioEndpointVolume 인터페이스 instance 수명 동안 일정하게 유지됩니다.

반환 값

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

반환 코드 설명
E_POINTER
매개 변수 pnSteppnStepCount는 모두 NULL입니다.

설명

이 메서드는 오디오 엔드포인트 디바이스에 들어오거나 나가는 오디오 스트림의 볼륨 수준을 불연속 볼륨 수준의 범위에서 인덱스 또는 "단계"로 나타냅니다. 출력 값 *pnStepCount 는 범위의 단계 수입니다. 출력 값 *pnStep 은 현재 볼륨 수준의 단계 인덱스입니다. 단계 수가 n = *pnStepCount이면 단계 인덱스 *pnStep 은 값을 0(최소 볼륨)에서 n – 1(최대 볼륨)으로 가정할 수 있습니다.

0에서 n – 1 사이의 범위에서 인접 단계 간의 연속 간격이 반드시 선형 신호 진폭 또는 데시벨의 균일한 볼륨 증분을 나타내는 것은 아닙니다. Windows Vista에서 GetVolumeStepInfo 는 인덱스와 볼륨 수준(신호 진폭)의 관계를 오디오 테이퍼 곡선으로 정의합니다. 곡선의 모양은 이후 버전의 Windows에서 변경될 수 있습니다. 오디오 테이퍼 곡선에 대한 자세한 내용은 오디오 테이퍼 볼륨 컨트롤을 참조하세요.

오디오 애플리케이션은 IAudioEndpointVolume::VolumeStepUpIAudioEndpointVolume::VolumeStepDown 메서드를 호출하여 볼륨 수준을 한 간격으로 늘리거나 줄일 수 있습니다. 두 방법 모두 먼저 오디오 테이퍼 곡선의 다음 지점에 해당하는 이상적인 볼륨 수준을 계산합니다. 다음으로, 메서드는 이상적인 수준에 가장 적합한 엔드포인트 볼륨 설정을 선택합니다. 엔드포인트 볼륨 설정의 범위와 세분성을 가져오려면 IEndpointVolume::GetVolumeRange 메서드를 호출합니다. 오디오 엔드포인트 디바이스가 하드웨어 볼륨 컨트롤을 구현하는 경우 GetVolumeRange 는 하드웨어 볼륨 설정을 설명합니다. 그렇지 않으면 EndpointVolume API는 소프트웨어에서 엔드포인트 볼륨 제어를 구현하고 GetVolumeRange 는 소프트웨어 구현 컨트롤의 볼륨 설정을 설명합니다.

요구 사항

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

추가 정보

IAudioEndpointVolume 인터페이스

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp