2008-11-26 64 views

回答

161

.NET 2.0中,你可以使用Console.Beep()。

// Default beep 
Console.Beep(); 

您还可以指定蜂鸣的频率和长度(以毫秒为单位)。

// Beep at 5000 Hz for 1 second 
Console.Beep(5000, 1000); 

欲了解更多信息,请参阅http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx

+1

享受全新的徽章。 ;) – 2008-11-26 15:51:07

+11

我刚刚在Win 7 x64 RC上进行了测试,虽然内部扬声器没有发出哔声,但是当我将它们插入和打开时,通过扬声器发出蜂鸣声。我想这只是内部(主板)扬声器不会发出哔哔声。感谢info @Lck。 – 2009-10-13 14:38:35

+1

对于x64提示+1,在Vista x64上也不起作用! – 2010-02-08 08:28:04

20

Console.Beep

10

试试这个

Console.WriteLine("\a")

4

据证实,Win7和较新版本(至少64位或两者兼有)不会使用系统扬声器,而是将呼叫路由到默认声音设备。

因此,在win7/8/10中使用system.beep()不会使用内部系统扬声器发出声音。但是,如果可以使用外置扬声器,您会听到一声嘟嘟声。

1

我在为自己寻找解决方案时遇到了这个问题。 你可能会考虑通过运行一些kernel32的东西来调用系统蜂鸣声功能。

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

     public static void TestBeeps() 
     { 
      Beep(1000, 1600); //low frequency, longer sound 
      Beep(2000, 400); //high frequency, short sound 
     } 

这是一样的,你可以运行PowerShell的:

[console]::beep(1000, 1600) 
[console]::beep(2000, 400)