| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Windows Sound |
| Автор: Temnozor 21.10.2002, 14:47 |
| Какими виндовыми функциями можно отключать и включать звук в системе? |
| Автор: Klin 24.10.2002, 16:28 |
| Я по многим сайтам пролез, но не нашёл. |
| Автор: Baa 29.10.2002, 10:36 | ||
Смотря как ты отключать хочешь... Что тебе надо? а) устновить громкость звука в 0 б) сделать mute в) вырубить звуковуху |
| Автор: Baa 29.10.2002, 10:37 | ||
Коментарии подобного рода не уместны и расцениваются как флейм. |
| Автор: Temnozor 29.10.2002, 15:27 | ||
Один мой знакомый купил пульт (я не вникал, но что-то вроде дистанционного управления компьютером, маразм в общем). На нем есть кнопка "Sound on/off". Естественно (хе-хе), нажатие на нее ничего не делает. Друг говорит, что может назначить на нее любое действие, а точнее запуск любой программы. Он просит, чтобы я написал программу, которая включала бы и выключала звук по нажатию этой кнопки (я так думаю, запускать прогу, которая проверяет включен ли звук и включает-выключает соответственно). Так что мне надо поступить как можно проще. (Я так думаю, лучше сделать Mute). |
| Автор: Baa 30.10.2002, 05:48 |
| Ну для начала посмотри: waveOutSetVolume waveOutGetVolume Я предлагаю запомнить положение звука, а потом его в 0 поставить...А когда звук должен вернуться выставить его в исходное... Насчет mute'a пока ничего не нашел, если вариант выше не устроит, то могу и еще покопаться. |
| Автор: Baa 30.10.2002, 11:22 |
| А еще попробуй mixerSetControlDetails она вроде и ставит в mute звук. |
| Автор: Temnozor 30.10.2002, 17:43 |
| Да, спасибо. Именно mixerSetControlDetails. Регулировка громкости не подходит, т.к. не факт, что звук будет регулироваться только этой программой, и запомнание громкости звука приведет к хаосу. Последовательность вызова функций: mixerGetNumDevs - есть ли вообще звуковуха? mixerOpen mixerGetLineInfo mixerGetLineControls mixerGetControlDetails - включен или выключен звук? mixerSetControlDetails - переключаем mixerClose |
| Автор: HexoGenus 14.11.2002, 00:18 | ||
Не факт В переменной Volume храним громкость начальное значение 0 Когда нужно вкл/откл звук проверяем если текущая громкость равна 0 то обмениваем значения Volume и текущей громкости, если не 0 то сохраняем в Volume текущую громкость и сбрасываем текущую громкость в 0 В результате если при первом вызове нашей проги громкость в нуле то вкл. и выкл. громкость нет смысла так как звук все равно не будет слышен... Если при первом вызове громкость есть то она запомнится и звук будет выключен... Если до второго вызова никто ничего не трогал и звук в нуле то громкость будет просто возвращена на предыдущий уровень... Если мы пришли и кто-то звук менял но вернул его в ноль то нам по барабану на что там менялась громкость мы хотим включить ту громкость которая была при нас... Если трогали и установили звук на определенный уровень то если мы жмем кнопку значит хотим звук именно выключить но уже на данном уровне громкости... Все варианты |