Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Exec cmd echo for beep with java on linux

Reply
Thread Tools

Exec cmd echo for beep with java on linux

 
 
Nanou
Guest
Posts: n/a
 
      10-20-2005
Hello,


I want to execute the command echo -e "\a" ( this command produce a
beep)from a java program whit Runtime.getRuntime().exec(); but it's
doesn't work. I don't heard the sound.
I can't use Toolkit.getDefaultToolkit().beep(); because under linux
this function have not effect.

OS: Mandriva Linux
JDK 1.5

Any help will be welcome.
Thanks

 
Reply With Quote
 
 
 
 
Oliver Wong
Guest
Posts: n/a
 
      10-20-2005
"Nanou" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> Hello,
>
>
> I want to execute the command echo -e "\a" ( this command produce a
> beep)from a java program whit Runtime.getRuntime().exec(); but it's
> doesn't work. I don't heard the sound.
> I can't use Toolkit.getDefaultToolkit().beep(); because under linux
> this function have not effect.
>
> OS: Mandriva Linux
> JDK 1.5
>
> Any help will be welcome.
> Thanks


If it's absolutely a mission critical requirement that a beep be
produced, then you'll have to ship custom hardware with your product. I have
a few computers, for example, with no speakers on them at all (not even the
"PC Speaker" normally attached to a motherboard), so it doesn't matter what
code you write in what language: no beep will be generated on these
machines.

If it isn't that essential, then maybe you shouldn't worry too much
about beeps not being produced under some architectures using
"Toolkit.getDefaultToolkit().beep()".

- Oliver


 
Reply With Quote
 
 
 
 
Knute Johnson
Guest
Posts: n/a
 
      10-20-2005
Nanou wrote:
> Hello,
>
>
> I want to execute the command echo -e "\a" ( this command produce a
> beep)from a java program whit Runtime.getRuntime().exec(); but it's
> doesn't work. I don't heard the sound.
> I can't use Toolkit.getDefaultToolkit().beep(); because under linux
> this function have not effect.
>
> OS: Mandriva Linux
> JDK 1.5
>
> Any help will be welcome.
> Thanks
>


This should do what you need.

knute...

import javax.sound.sampled.*;

public class Tone {
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();
}

public static void main(String[] args) {
try {
Tone.sound(2000,150);
} catch (LineUnavailableException lue) {
System.out.println(lue);
}
}
}

--

Knute Johnson
email s/nospam/knute/
 
Reply With Quote
 
Gordon Beaton
Guest
Posts: n/a
 
      10-20-2005
On 20 Oct 2005 09:49:51 -0700, Nanou wrote:
> I want to execute the command echo -e "\a" ( this command produce a
> beep)from a java program whit Runtime.getRuntime().exec(); but it's
> doesn't work. I don't heard the sound.


All it does is print the character value 7 to the terminal, which
interprets the character and rings the bell.

You can do it directly from Java like this:

System.out.print('\0007');

Whether or not this actually creates any sound depends on your
terminal.

/gordon

--
[ do not email me copies of your followups ]
g o r d o n + n e w s @ b a l d e r 1 3 . s e
 
Reply With Quote
 
Dave Glasser
Guest
Posts: n/a
 
      10-20-2005
Gordon Beaton <(E-Mail Removed)> wrote on 20 Oct 2005 20:35:14 +0200 in
comp.lang.java.programmer:

>On 20 Oct 2005 09:49:51 -0700, Nanou wrote:
>> I want to execute the command echo -e "\a" ( this command produce a
>> beep)from a java program whit Runtime.getRuntime().exec(); but it's
>> doesn't work. I don't heard the sound.

>
>All it does is print the character value 7 to the terminal, which
>interprets the character and rings the bell.
>
>You can do it directly from Java like this:
>
> System.out.print('\0007');
>
>Whether or not this actually creates any sound depends on your
>terminal.


And furthermore, Nanou, the reason you didn't hear the beep with
Runtime.getRuntime().exec() is that the STDOUT stream of the exec'ed
process is captured, rather than sent to the console. You can read it
with the InputStream returned by Process.getInputStream(). That's why
stuff like redirect characters (">" and ">>") or pipes on the command
line don't work as expected with Runtime.exec().


--
Check out QueryForm, a free, open source, Java/Swing-based
front end for relational databases.

http://qform.sourceforge.net

If you're a musician, check out RPitch Relative Pitch
Ear Training Software.

http://rpitch.sourceforge.net
 
Reply With Quote
 
Gordon Beaton
Guest
Posts: n/a
 
      10-20-2005
On 20 Oct 2005 20:35:14 +0200, Gordon Beaton wrote:
> System.out.print('\0007');


Sorry! Should have been

System.out.print('\u0007');

/gordon

--
[ do not email me copies of your followups ]
g o r d o n + n e w s @ b a l d e r 1 3 . s e
 
Reply With Quote
 
Roedy Green
Guest
Posts: n/a
 
      10-21-2005
On 20 Oct 2005 09:49:51 -0700, "Nanou" <(E-Mail Removed)> wrote
or quoted :

>I want to execute the command echo -e "\a" ( this command produce a
>beep)from a java program whit Runtime.getRuntime().exec(); but it's
>doesn't work. I don't heard the sound.
>I can't use Toolkit.getDefaultToolkit().beep(); because under linux
>this function have not effect.


there is one more thing easier to try. see
http://mindprod.com/jgloss/beep.html

See http://mindprod.com/jgloss/exec.html
if that does not work. Echo may be an internal command. If it is you
will need to spawn a command interperter.

Shade of Monty Python and the machine that goes beep.

--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
 
Reply With Quote
 
Andrew Thompson
Guest
Posts: n/a
 
      10-21-2005
Roedy Green wrote:

> Shade of Monty Python and the machine that goes beep.


I dare say you are becoming confused between the threads/quotes.

Ping?
<http://groups.google.com/group/comp.lang.java.programmer/browse_frm/thread/3aa4e0abf416d49f/3df3fc271a3b9e4b?q=ping&rnum=1#3df3fc271a3b9e4b>
 
Reply With Quote
 
Roedy Green
Guest
Posts: n/a
 
      10-21-2005
On Fri, 21 Oct 2005 01:45:48 GMT, Andrew Thompson
<(E-Mail Removed)> wrote or quoted :

>> Shade of Monty Python and the machine that goes beep.

>
>I dare say you are becoming confused between the threads/quotes.
>
>Ping?
><http://groups.google.com/group/comp.lang.java.programmer/browse_frm/thread/3aa4e0abf416d49f/3df3fc271a3b9e4b?q=ping&rnum=1#3df3fc271a3b9e4b>


If this exchange is sailing over your head, you probably have not yet
seen the classic Monty Python movie, the Meaning of Life.

Some dialog from it is quoted here:
http://sfy.ru/sfy.html?script=mp_meanlife
More apparatus please, nurse.
And, uh, get the machine that goes 'ping'.


That leads to the slightly OT discussion. You can't do a true ping in
Java, but can you in Python?


--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
 
Reply With Quote
 
Nanou
Guest
Posts: n/a
 
      10-21-2005
Thanks you very much, that's good for me.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Process p = Runtime.getRuntime().exec(String cmd) not reading input stream on Linux nmlaney@gmail.com Java 4 01-12-2010 11:38 AM
Mac LC475 (Quadra 650) plays "beep beep beep beep" Uplink Computer Information 0 04-12-2006 10:37 PM
[exec cmd for cmd in cmds] =?ISO-8859-1?Q?Sch=FCle_Daniel?= Python 3 03-08-2006 03:21 PM
echo echo echo craig judd Computer Support 1 09-23-2003 08:53 PM
BEEP! BEEP! BEEP! Arg! :( Kevin Low Computer Information 0 07-06-2003 08:29 AM



Advertisments