Невозможно заставить системный гудок работать в C, используя различные методы - PullRequest
2 голосов
/ 05 ноября 2010

Я пробовал \ a \ 7 функцию звукового сигнала windows.h и т. Д., И т. Д., И ничего не работает.

Разве на новом оборудовании не встроена эта функция?

(Консольная программа)

Ответы [ 4 ]

3 голосов
/ 05 ноября 2010

Для людей с ограниченными возможностями требуется новое оборудование, но Windows 7 переместила Beep() в настоящую подсистему Windows Audio (поэтому убедитесь, что динамики включены). Ларри Остерман объясняет все это в своем блоге: http://blogs.msdn.com/b/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx

2 голосов
/ 05 ноября 2010

В C printf ("\ a") должен генерировать сигнал тревоги. Насколько мне известно, это делается через динамик ПК. В современных системах отсутствует аппаратный динамик ПК. Иногда он эмулируется вашей звуковой картой, но это зависит от ОС и драйвера. Короче, вам может не повезти.

Вы можете попробовать MessageBeep (): http://msdn.microsoft.com/en-us/library/ms680356(VS.85).aspx.

Удачи.

Кроме того, вы должны проверить всех обычных виновников, таких как отключение звука вашей звуковой карты, включение / отключение динамиков и т. Д.

0 голосов
/ 09 июля 2014

Вы можете сделать звуковой сигнал (частота, длительность), и вы получите звуковой сигнал, следующий за этой частотой.Предел частоты составляет 37-32767 герц.Продолжительность измеряется в миллисекундах и не имеет ограничений.Например:

Beep(1000,3600);
0 голосов
/ 05 ноября 2010

Сначала откройте приглашение CMD и введите:

echo ^ V ^ G <- это control-V control-G </p>

Если вы не слышите звуковой сигнал,неправильно настроен или отсутствует.

...