0

The following method "sound" works on my PC and it sounds a beep. I am using java 1.5
and Jdeveopler 10.1.3.4 on Windows XP/SP2.

import javax.sound.sampled.*;

public void handleBeep(ReturnEvent returnEvent)
{

    try {
         sound(2000,150);
    } catch (LineUnavailableException lue) {
    System.out.println(lue);
    }
   }


public static void sound(int hz,int msecs) throws LineUnavailableException {
byte[] buf = new byte[msecs*8];

for (int i=0; i<buf.length; i++) {
double angle = i / (8000.0 / hz) * 2.0 * Math.PI;
buf[i] = (byte)(Math.sin(angle) * 80.0);
}

AudioFormat af = new AudioFormat(8000f,8,1,true,false);
SourceDataLine sdl = AudioSystem.getSourceDataLine(af);
sdl.open(af);
sdl.start();
sdl.write(buf,0,buf.length);
sdl.drain();
sdl.close();
}

Edited by Nick Evan: Fixed formatting

4
Contributors
5
Replies
6
Views
8 Years
Discussion Span
Last Post by AlbertPi
0

I'm sorry but are you asking for help? If not, congratulations on getting your beep method to work. If you are asking for help, what is your question?

0

I'm sorry but are you asking for help? If not, congratulations on getting your beep method to work. If you are asking for help, what is your question?

I have no issue running this method on my PC, but i have an issue running this on Unix/Weblogic server. I got error message. See below:
" No line matching interface SourceDataLine supporting format PCM_SIGNED 8000.0 Hz, 8 bit, mono, 1 bytes/frame, is supported." from Unix (Sun). Any thought ? Thanks.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.