How can I make the computer beep in C#?

后端 未结 6 1552
小鲜肉
小鲜肉 2020-12-02 08:02

How do I make the computer\'s internal speaker beep in C# without external speakers?

相关标签:
6条回答
  • 2020-12-02 08:39

    It is confirmed that Windows 7 and newer versions (at least 64bit or both) do not use system speaker and instead they route the call to the default sound device.

    So, using system.beep() in win7/8/10 will not produce sound using internal system speaker. Instead, you'll get a beep sound from external speakers if they are available.

    0 讨论(0)
  • 2020-12-02 08:46

    You can also use the relatively unused:

        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();
    

    Documentation for this sounds is available in http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx

    0 讨论(0)
  • 2020-12-02 08:49

    In .Net 2.0, you can use Console.Beep().

    // Default beep
    Console.Beep();
    

    You can also specify the frequency and length of the beep in milliseconds.

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

    For more information refer http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx

    0 讨论(0)
  • 2020-12-02 08:52

    Try this

    Console.WriteLine("\a")

    0 讨论(0)
  • 2020-12-02 08:55

    The solution would be,

    Console.Beep
    
    0 讨论(0)
  • 2020-12-02 08:56

    I just came across this question while searching for the solution for myself. You might consider calling the system beep function by running some kernel32 stuff.

    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
            }
    

    This is the same as you would run powershell:

    [console]::beep(1000, 1600)
    [console]::beep(2000, 400)
    
    0 讨论(0)
提交回复
热议问题