midiOutSetVolume 함수(mmeapi.h)

midiOutSetVolume 함수는 MIDI 출력 디바이스의 볼륨을 설정합니다.

구문

MMRESULT midiOutSetVolume(
  HMIDIOUT hmo,
  DWORD    dwVolume
);

매개 변수

hmo

열려 있는 MIDI 출력 디바이스에 대한 핸들입니다. 이 매개 변수는 HMIDIOUT으로 캐스팅되는 한 MIDI 스트림의 핸들을 포함할 수도 있습니다. 이 매개 변수는 디바이스 식별자일 수도 있습니다.

dwVolume

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

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

반환 값

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

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

설명

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

모든 디바이스에서 볼륨 변경을 지원하는 것은 아닙니다. midiOutGetDevCaps 함수 및 MIDICAPS_VOLUME 플래그를 사용하여 디바이스를 쿼리하여 디바이스가 지원하는지 여부를 확인할 수 있습니다.

midiOutGetDevCaps 함수 및 MIDICAPS_LRVOLUME 플래그를 사용하여 디바이스를 쿼리하여 디바이스가 왼쪽 채널과 오른쪽 채널 모두에서 볼륨 제어를 지원하는지 여부를 확인할 수도 있습니다.

전체 16비트 볼륨 수준 제어를 지원하지 않는 디바이스는 요청된 볼륨 설정의 상위 비트를 사용합니다. 예를 들어 4비트 볼륨 컨트롤을 지원하는 디바이스는 0x4000, 0x43be 및 0x4fff 볼륨 수준 값에 대해 동일한 볼륨 설정을 생성합니다. midiOutGetVolume 함수는 디바이스의 기능에 관계없이 midiOutSetVolume에서 설정한 전체 16비트 값을 반환합니다.

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

요구 사항

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

추가 정보

MIDI 함수