다음을 통해 공유


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

SetAllVolumes 메서드는 오디오 세션의 모든 채널에 대한 개별 볼륨 수준을 설정합니다.

구문

HRESULT SetAllVolumes(
  [in] UINT32      dwCount,
  [in] const float *pfVolumes,
  [in] LPCGUID     EventContext
);

매개 변수

[in] dwCount

pfVolumes 배열의 요소 수입니다. 이 매개 변수는 오디오 세션의 스트림 형식 채널 수와 같아야 합니다. 채널 수를 얻으려면 IChannelAudioVolume::GetChannelCount 메서드를 호출합니다 .

[in] pfVolumes

오디오 세션의 채널에 대한 볼륨 수준 배열에 대한 포인터입니다. pfVolumes 배열의 요소 수는 dwCount 매개 변수로 지정됩니다. 호출자는 각 채널의 볼륨 수준을 인덱스가 채널 번호와 일치하는 배열 요소에 씁니다. 오디오 세션의 스트림 형식에 N 채널이 있는 경우 채널 번호는 0에서 N- 1로 지정됩니다. 유효한 볼륨 수준은 0.0~1.0 범위에 있습니다.

[in] EventContext

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

반환 값

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

반환 코드 설명
E_INVALIDARG
매개 변수 dwCount 는 오디오 세션의 스트림 형식 채널 수와 같지 않거나 pfVolumes 배열 요소의 값이 0.0~1.0 범위에 있지 않습니다.
E_POINTER
pfVolumes 매개 변수는 NULL입니다.
AUDCLNT_E_DEVICE_INVALIDATED
오디오 엔드포인트 디바이스가 분리되었거나 오디오 하드웨어 또는 관련 하드웨어 리소스가 다시 구성, 비활성화, 제거 또는 사용할 수 없게 되었습니다.
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 오디오 서비스가 실행되고 있지 않습니다.

설명

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

요구 사항

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

추가 정보

IAudioSessionEvents 인터페이스

IChannelAudioVolume 인터페이스

IChannelAudioVolume::GetChannelCount