Search code examples
c#javaaudiofrequencybeep

Java equivalent of C# system.beep?


I am working on a Java program, and I really need to be able to play a sound by a certain frequency and duration, similarly to the c# method System.Beep, I know how to use it in C#, but I can't find a way to do this in Java. Is there some equivalent, or another way to do this?

using System;

class Program
{
    static void Main()
    {
    // The official music of Dot Net Perls.
    for (int i = 37; i <= 32767; i += 200)
    {
        Console.Beep(i, 100);
    }
    }
}

Solution

  • I don't think there's a way to play tunes1 with "beep" in portable2 Java. You'll need to use the javax.sound.* APIs I think ... unless you can find a third-party library that simplifies things for you.

    If you want to go down this path, then this page might give you some ideas.


    1 - Unless your users are all tone-deaf. Of course you can do things like beeping in Morse code ... but that's not a tune.

    2 - Obviously, you could make native calls to a Windows beep function. But that would not be portable.