// The volume range is 0-0xffff.
UINT MaxDevs = waveOutGetNumDevs(); WAVEOUTCAPS woc; for (UINT DID = 0; DID < MaxDevs - 1; DID++) { MMRESULT res = waveOutGetDevCaps(DID, &woc, sizeof(AUXCAPS)); if ((res == MMSYSERR_NOERROR) && (woc.dwSupport & WAVECAPS_LRVOLUME)) break; } if (DID == MaxDevs - 1) DID = AUX_MAPPER;
// MASTER VOLUME #define MLEFTVOL 0x1000 #define MRIGHTVOL 0x1000 auxSetVolume(DID, MAKELONG(MLEFTVOL, MRIGHTVOL));
// WAVE VOLUME #define WLEFTVOL 0x8000 #define WRIGHTVOL 0x8000 waveOutSetVolume((HWAVEOUT)DID, MAKELONG(WLEFTVOL, WRIGHTVOL));
//Updated on 13rd Sep 2001, now detects the waveOut volume device ID. |