【问题标题】:How can I make the computer beep in C#?如何在 C# 中使计算机发出哔哔声?
【发布时间】:2010-09-24 04:23:16
【问题描述】:

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

【问题讨论】:

    标签: c# .net audio beep


    【解决方案1】:

    解决办法是,

    Console.Beep
    

    【讨论】:

      【解决方案2】:

      试试这个

      Console.WriteLine("\a")

      【讨论】:

        【解决方案3】:

        在 .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

        【讨论】:

        【解决方案4】:

        你也可以使用比较没用的:

            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 中提供了有关此声音的文档

        【讨论】:

        • 不幸的是,这些系统声音需要外部扬声器,而这并不总是可以指望的。不过,知道这些绝对是件好事!
        • 现在知道 x64 版本的 Windows 需要扬声器才能听到 Console.Beep(),这些选项也可以正常工作。
        • 我在带有内置扬声器的笔记本电脑上的 Vista x64 无法播放 Console.Beep() 但这些都很好。
        【解决方案5】:

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

        因此,在 win7/8/10 中使用system.beep() 将不会使用内部系统扬声器产生声音。相反,如果有可用的外部扬声器,您会听到哔声。

        【讨论】:

        • 但不能保证它可以通过声卡工作/发出哔哔声。在我的 Windows 10 机器上没有哔声 - 声卡当然可以工作
        【解决方案6】:

        我在为自己寻找解决方案时遇到了这个问题。 您可以考虑通过运行一些 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)
        

        【讨论】:

          猜你喜欢
          • 2014-10-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-30
          • 2012-04-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多