Russian Qt Forum
Ноябрь 23, 2024, 10:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: wav проблема с waveOutSetVolume  (Прочитано 5073 раз)
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);

}
в программе использую её так
Код:
volum(36000);
происходит следующий дефект: звук меняется, но смещается ползунок баланса распределения звука между калонками влево, то есть одну колонку полностью не слышно. а так как у меня в силу технических аспектов воспроизводит только одна колонка(главная), то получается что звука вообще нет. как избежать этого?подскажите пожалуйста
Записан
zenden
Гость
« Ответ #1 : Март 24, 2010, 09:23 »

Код
C++ (Qt)
waveOutSetVolume((HWAVEOUT)WAVE_MAPPER, MAKELONG( left, right ));

или

Код
C++ (Qt)
volum(MAKELONG( left, right ));
Записан
Firefox
Гость
« Ответ #2 : Март 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)
я правильно понимаю лево и право - это громкость левой и правой колонки(или канала)
« Последнее редактирование: Март 24, 2010, 15:43 от Firefox » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 20.