# Alarm ausgeben (ASCII Zeichen 7) über Lautsprecher



## ernst (2. Aug 2007)

Hallo allerseits,
In C kann man durch Ausgabe des ASCII-Zeichens 7 (=Alarm) einen Ton auf dem Lautsprecher ausgeben.
Leider funktioniert dies in Java nicht mit der Anweisung:
System.out.println("\u0007");

Was habe ich falsch gemacht, bzw. wie geht es richtig?

mfg
Ernst


----------



## SlaterB (2. Aug 2007)

bei google ist immer von \007 die Rede, z.B.

http://forum.java.sun.com/thread.jspa?threadID=614343&messageID=3800818


----------



## ernst (2. Aug 2007)

SlaterB hat gesagt.:
			
		

> bei google ist immer von \007 die Rede, z.B.
> 
> http://forum.java.sun.com/thread.jspa?threadID=614343&messageID=3800818



Danke für den Tipp.
1) Weißt du warum es nicht mit dem Unicode \u0007 geht?
2) Bei mir funktioniert es nocht nicht. Kann es damit zusammenhängen, dass ich einen Lautsprecher (+Soundkarte) an meinem Computer angeschlossen habe ?

mfg
Ernst


----------



## SlaterB (2. Aug 2007)

zu 1) weiß ich nix, da ich auch alle Varianten nicht ausprobiert habe
zu 2) sowieso nix

mehr Glück mit dem nächsten Antworter


----------



## logn (3. Aug 2007)

Hallo!
Hast Du schon das ausprobiert:

  java.awt.Toolkit.getDefaultToolkit().beep();

Allerdings spielt dieser Befehl bei mir (unter Windows) wohl ein Standard-Sample ab, anstelle eines richtigen PC-Speaker-Beep.


----------



## L-ectron-X (4. Aug 2007)

```
public class SpeakerBeep {
   public static void main(String[] args) {
      System.out.println((char)7);
   }
}
```


----------



## unknown_member (10. Aug 2007)

Ich hab zu dem Thema mal was nicht sinnvolles aber witziges erstellt:


```
public class SpeakerBeep2 {
   public static void main(String[] args) {


     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     java.awt.Toolkit.getDefaultToolkit().beep();
     try { Thread.sleep(500); } catch(InterruptedException e) {}

          System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     java.awt.Toolkit.getDefaultToolkit().beep();
     try { Thread.sleep(500); } catch(InterruptedException e) {}

          System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     java.awt.Toolkit.getDefaultToolkit().beep();
     try { Thread.sleep(300); } catch(InterruptedException e) {}
     java.awt.Toolkit.getDefaultToolkit().beep();
     try { Thread.sleep(500); } catch(InterruptedException e) {}



          System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     java.awt.Toolkit.getDefaultToolkit().beep();
     try { Thread.sleep(2000); } catch(InterruptedException e) {}


     System.out.println((char)7);
     try { Thread.sleep(500); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(500); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(500); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(500); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}
     System.out.println((char)7);
     try { Thread.sleep(100); } catch(InterruptedException e) {}




   }


}
```


----------



## SlaterB (10. Aug 2007)

tztz, dieser Overhead..

mach doch
gibAusTon(1,1,5,1, ...) draus,
dann kann man es sogar lesen/ warten


----------



## thE_29 (10. Aug 2007)

Wir haben in der Schule mitn PC Lautsprecher (wohl gemerkt in C) manchmal was nachkomponiert 

Da hat man HZ (ist Höhe) und länge angeben können


----------



## Leroy42 (10. Aug 2007)

SlaterB hat gesagt.:
			
		

> tztz, dieser Overhead..



Richtig!

In diesem Fall, möchte ich mir unknownMember's andere
Quelltexte nicht so unbedingt antun... (  )


----------



## unknown_member (15. Aug 2007)

Das hab ich ja nur schnell zusammengeproggt...   

So besser? : :bae:  :wink: 


```
public class SpeakerBeep {
   public static void main(String[] args) {

   start();

   }
   
   public static void start() {
     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton2();
     wartenLang();

     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton2();
     wartenLang();

     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton2();
     wartenMittel();
     ton2();
     wartenLang();



     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton2();
     wartenSehrLang();


     ton1();
     wartenLang();
     ton1();
     wartenLang();
     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton1();
     wartenLang();
     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
     ton1();
     wartenLang();
     ton1();
     wartenKurz();
     ton1();
     wartenKurz();
   }
   
     public static void wartenKurz() {
       try { Thread.sleep(100); } catch(InterruptedException e) {}
     }

     public static void wartenMittel() {
       try { Thread.sleep(300); } catch(InterruptedException e) {}
     }

     public static void wartenLang() {
       try { Thread.sleep(500); } catch(InterruptedException e) {}
     }

     public static void wartenSehrLang() {
       try { Thread.sleep(2000); } catch(InterruptedException e) {}
     }



     public static void ton1() {
       System.out.println((char)7);
     }

     public static void ton2() {
       java.awt.Toolkit.getDefaultToolkit().beep();
     }



}
```


----------



## SlaterB (15. Aug 2007)

weitaus, aber nur die halbe Miete,

besser wäre

```
MelodyType wk = MelodyType.WartenKurz;
MelodyType wl = ..;
MelodyType t1 = ..;
MelodyType t2 = ..;
doMelody(t1,wk,t1,wk, ...);
```

(Ansichtssache  )


----------

