다음을 통해 공유


waveOutSetVolume 함수(mmeapi.h)

waveOutSetVolume 함수는 지정된 파형 오디오 출력 디바이스의 볼륨 수준을 설정합니다.

구문

MMRESULT waveOutSetVolume(
  HWAVEOUT hwo,
  DWORD    dwVolume
);

매개 변수

hwo

열려 있는 파형 오디오 출력 디바이스에 대한 핸들입니다. 이 매개 변수는 디바이스 식별자일 수도 있습니다.

dwVolume

새 볼륨 설정. 하위 단어에는 왼쪽 채널 볼륨 설정이 포함되고 상위 단어에는 오른쪽 채널 설정이 포함됩니다. 0xFFFF 값은 전체 볼륨을 나타내고 0x0000 값은 무음입니다.

디바이스가 왼쪽 및 오른쪽 볼륨 제어를 모두 지원하지 않는 경우 dwVolume 의 하위 단어는 볼륨 수준을 지정하고 상위 단어는 무시됩니다.

반환 값

성공하거나 오류가 있으면 MMSYSERR_NOERROR 반환합니다. 가능한 오류 값은 다음과 같습니다.

반환 코드 설명
MMSYSERR_INVALHANDLE
지정된 디바이스 핸들이 잘못되었습니다.
MMSYSERR_NODRIVER
디바이스 드라이버가 없습니다.
MMSYSERR_NOMEM
메모리를 할당하거나 잠글 수 없습니다.
MMSYSERR_NOTSUPPORTED
함수는 지원되지 않습니다.

설명

디바이스 식별자를 사용하는 경우 waveOutSetVolume 호출의 결과가 디바이스의 모든 인스턴스에 적용됩니다. 디바이스 핸들을 사용하는 경우 결과는 디바이스 핸들에서 참조하는 디바이스의 instance만 적용됩니다.

모든 디바이스에서 볼륨 변경을 지원하는 것은 아닙니다. 디바이스가 볼륨 제어를 지원하는지 여부를 확인하려면 WAVECAPS_VOLUME 플래그를 사용하여 WAVEOUTCAPS 구조체의 dwSupport 멤버를 테스트합니다(waveOutGetDevCaps 함수로 채워짐). 디바이스가 왼쪽 채널과 오른쪽 채널 모두에서 볼륨 제어를 지원하는지 여부를 확인하려면 WAVECAPS_LRVOLUME 플래그를 사용합니다.

대부분의 디바이스는 전체 16비트 볼륨 수준 제어를 지원하지 않으며 요청된 볼륨 설정의 가장 중요한 비트를 사용하지 않습니다. 예를 들어 디바이스가 4비트 볼륨 제어를 지원하는 경우 0x4000, 0x4FFF 및 0x43BE 값이 모두 0x4000 잘립니다. waveOutGetVolume 함수는 waveOutSetVolume으로 설정된 전체 16비트 설정을 반환합니다.

볼륨 설정은 로그적으로 해석됩니다. 즉, 볼륨 수준을 0x4000 0x5000 0x5000 0x6000 늘릴 때 인식된 볼륨 증가가 동일합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 mmeapi.h(Windows.h 포함)
라이브러리 Winmm.lib
DLL Winmm.dll

참고 항목

파형 오디오

파형 함수