How can I make the computer beep in C#?

C#.NetAudioBeep

C# Problem Overview


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

C# Solutions


Solution 1 - C#

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

Solution 2 - C#

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

Solution 3 - C#

The solution would be,

Console.Beep

Solution 4 - C#

Try this

Console.WriteLine("\a")

Solution 5 - C#

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.

Solution 6 - C#

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)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questiona_hardinView Question on Stackoverflow
Solution 1 - C#a_hardinView Answer on Stackoverflow
Solution 2 - C#Ta01View Answer on Stackoverflow
Solution 3 - C#Barry KellyView Answer on Stackoverflow
Solution 4 - C#Chris BallanceView Answer on Stackoverflow
Solution 5 - C#kuma DKView Answer on Stackoverflow
Solution 6 - C#Jakub SzumiatoView Answer on Stackoverflow