Системный звуковой сигнал в Windows 7 - PullRequest
4 голосов
/ 09 ноября 2011

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

Я использую c # wpf .Net 4.0 и, конечно, Windows 7

Ответы [ 2 ]

6 голосов
/ 09 ноября 2011

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

Начиная с Windows 7 и в 64-разрядных версиях предыдущих операционных систем, ответ отрицательный: вы не можете всегда издавать аппаратный звуковой сигнал. Ларри Остерман объясняет, почему .

Вы можете подать звуковой сигнал, но основные функции перенесены в аудиоподсистему Windows; так что он будет играть через наушники, если они подключены. Насколько я знаю, в современных операционных системах невозможно принудительно издать аппаратный звуковой сигнал во всех случаях.

Вы все еще можете выполнить звуковой сигнал, используя Console.Beep().

2 голосов
/ 09 ноября 2011

Объявите это где-нибудь:

[System.Runtime.InteropServices.DllImport("kernel32 .dll")]
private static extern bool Beep(int freq, int dur);

Затем назовите это так:

Beep(440, 1000); // Concert A, for 1 second
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...