Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Установить уровень звука


Автор: Alca 29.5.2007, 21:04
Установить уровень звука (как это делает регулятор громкости в трее)

Автор: Klin 29.5.2007, 22:00
Без сообщений в трей, это делается с помощью waveOutSetVolume(mmsystem.h). А с прямым имхо SetVolume

Автор: Alca 29.5.2007, 22:21
Делаю так:

Код

     #include <mmsystem.h>

      unsigned long OldVolume, NewVolume;

      waveOutGetVolume(0, (LPDWORD) &OldVolume); // to store the data
      NewVolume = 0xFFFF;  ///*REALLY_LOUD*/;  //0x0000   0xFFFF
      waveOutSetVolume(0, (DWORD) NewVolume);   // set volume volumne to something else
      //Do stuff
      //waveOutSetVolume(0, (DWORD) OldVolume);


звук на это не реагирует...

Автор: Klin 30.5.2007, 00:35
И не будет, а если и заработает, только один динамик. Да и тип у вас 2 раза конвектируется.. Короче, написал бы раньше, да инет глючит smile

Код

waveOutSetVolume(0,MAKELONG(LOWORD(50000),LOWORD(50000)));


Вместо значения 50000 используем нужную громкость. Тип хоть integer smile Только значение будет меняться не для всех параметров, а только для параметра "Звук".

Добавлено через 2 минуты и 33 секунды
ну и проинклудить конечно smile

Автор: Alca 30.5.2007, 21:29
Не фурычит...  smile 

Ок. Уровень Wave устанавливается (при этом уровень звука не меняется). 
А вот уровень Play Sound - не реагирует на waveOutSetVolume...

Автор: Klin 31.5.2007, 06:55
Я уже сказал, что уровень общего звука не изменяется. Для этого нужно использовать SetVolume. 

Автор: Alca 31.5.2007, 19:23
 smile 
Нет такой функции SetVolume в mmsystem.h

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)