C# - Консоль.Звуковой сигнал не работает на Windows Vista


Когда я попробовал Console.Beep() на Win Vista (64bit), это просто не работает. Сам динамик в порядке, когда компьютер запускается, он подает звуковой сигнал. Какой-нибудь совет? Спасибо!

4 6

4 ответа:

Это 64-битная Vista?

Консоль.Beep вызывает функцию API Beep , которая не поддерживается на 64-битной Vista.

Цитата: Windows Vista x64 и Windows XP 64-Bit Edition: Эта функция не поддерживается.

Вы могли бы использовать MessageBeep вместо этого, если это нормально с звуковым сигналом, идущим через динамики, а не прямо от материнской платы. Смотрите здесь , Как вызвать это из C#.

Метод Beep не поддерживается в Vista / XP x64. Я полагаю, у вас есть 64-битная ОС?

Как все остальные опубликовали pc speaker Beep не поддерживается в 64x windows vista или XP и вообще не поддерживается в windows 7. Вот сообщение в блоге от Microsoft, объясняющее, почему

Http://blogs.msdn.com/b/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx

Как предположили другие, Console.Beep() не работает на 64-битных окнах, как говорится в документации. Вместо этого можно использовать следующую инструкцию, которая выдает звуковой сигнал (но не через API Beep):

// beep
System.Media.SystemSounds.Beep.Play();

Обходной путь первоначально найден здесь в MSDN Connect.