Название: wav проблема с waveOutSetVolume
Отправлено: Firefox от Март 24, 2010, 08:59
Здравствуйте. и спользую следующую функцию для регулировки звука void WaveSound::volum(unsigned int SetVolume) { WAVEOUTCAPSA Woc; DWORD Volume; if(waveOutGetDevCapsA(WAVE_MAPPER, &Woc, sizeof(Woc)) ==MMSYSERR_NOERROR)
if(Woc.dwSupport && WAVECAPS_VOLUME == WAVECAPS_VOLUME)
waveOutSetVolume(0, SetVolume);
} в программе использую её так происходит следующий дефект: звук меняется, но смещается ползунок баланса распределения звука между калонками влево, то есть одну колонку полностью не слышно. а так как у меня в силу технических аспектов воспроизводит только одна колонка(главная), то получается что звука вообще нет. как избежать этого?подскажите пожалуйста
Название: Re: wav проблема с waveOutSetVolume
Отправлено: zenden от Март 24, 2010, 09:23
C++ (Qt) waveOutSetVolume((HWAVEOUT)WAVE_MAPPER, MAKELONG( left, right ));
или C++ (Qt) volum(MAKELONG( left, right ));
Название: Re: wav проблема с waveOutSetVolume
Отправлено: Firefox от Март 24, 2010, 15:28
void WaveSound::volum(unsigned int SetVolume) { WAVEOUTCAPSA Woc; DWORD Volume; if(waveOutGetDevCapsA(WAVE_MAPPER, &Woc, sizeof(Woc)) ==MMSYSERR_NOERROR)
if(Woc.dwSupport && WAVECAPS_VOLUME == WAVECAPS_VOLUME)
waveOutSetVolume((HWAVEOUT)WAVE_MAPPER,MAKELONG( SetVolume, SetVolume));
} volum(36000) я правильно понимаю лево и право - это громкость левой и правой колонки(или канала)
|