我怎样才能让电脑在C#中哔哔?

如何在没有外部扬声器的情况下使计算机的内置扬声器在C#中发出嘟嘟声?

在.Net 2.0中,您可以使用Console.Beep()。

// Default beep Console.Beep(); 

您还可以以毫秒为单位指定哔声的频率和长度。

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

有关更多信息,请参阅http://msdn.microsoft.com/zh-CN/library/8hftfeyw%28v=vs.110%29.aspx

你也可以使用相对不用的:

  System.Media.SystemSounds.Beep.Play(); System.Media.SystemSounds.Asterisk.Play(); System.Media.SystemSounds.Exclamation.Play(); System.Media.SystemSounds.Question.Play(); System.Media.SystemSounds.Hand.Play(); 

有关此声音的文档可在http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx

Console.Beep

尝试这个

Console.WriteLine("\a")

确认win7和更新的版本 (至less64bit或两者) 不使用系统扬声器 ,而是将呼叫路由到默认声音设备。

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

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

 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)