如何让计算机在C#中发出蜂鸣声?

a_h*_*din 102 .net c# audio beep

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

a_h*_*din 188

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

// Default beep
Console.Beep();
Run Code Online (Sandbox Code Playgroud)

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

// Beep at 5000 Hz for 1 second
Console.Beep(5000, 1000);
Run Code Online (Sandbox Code Playgroud)

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

  • 这就是原因:http://blogs.msdn.com/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx (22认同)
  • 我刚刚在Win 7 x64 RC中进行了测试,虽然内部扬声器没有发出蜂鸣声,但是当我将它们插入并打开时,扬声器发出一声哔哔声.我想这只是内部(主板)扬声器不会发出哔哔声.感谢@Lck的信息. (11认同)
  • 它应该适用于x64,但声音将通过普通扬声器(可以静音)传出.http://blogs.msdn.com/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx (3认同)

kd7*_*kd7 141

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

    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();
Run Code Online (Sandbox Code Playgroud)

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

  • 带内置扬声器的笔记本电脑上的Vista x64无法播放Console.Beep(),但这些都很好. (4认同)
  • 不幸的是,这些系统声音需要外部扬声器,这并不总是可靠的。不过,了解这些绝对是件好事! (2认同)

Bar*_*lly 22

Console.Beep


Chr*_*nce 12

试试这个

Console.WriteLine("\a")


kum*_* DK 6

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

因此,system.beep()在win7/8/10中使用将不会使用内部系统扬声器.但如果可用,您将从外部扬声器发出哔声.


Jak*_*ato 5

我刚刚在为自己寻找解决方案时遇到了这个问题。您可能会考虑通过运行一些 kernel32 内容来调用系统 beep 函数。

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
        }
Run Code Online (Sandbox Code Playgroud)

这与您运行 powershell 相同:

[console]::beep(1000, 1600)
[console]::beep(2000, 400)
Run Code Online (Sandbox Code Playgroud)