# Musik ausstellen



## Pikkolini (17. Dez 2009)

Hi,

nach langem erfolglosen googlen, nachdem ich nur was zu JavaScript gefunden habe, schreibe ich mal hier hinein 
Und zwar bekomme ich es bei Java nicht hin die Musik über einen Klick auf einen Button auszustellen.
Die Musik lass ich momentan so ablaufen:

```
try {
    AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(Datenpfad + "Musik.wav"));
	BufferedInputStream bufferedInputStream = new BufferedInputStream(audioInputStream);
	AudioFormat af  = audioInputStream.getFormat();
	int size = (int) (af.getFrameSize() * audioInputStream.getFrameLength());
	byte[] audio = new byte[size];
	DataLine.Info info = new DataLine.Info(Clip.class, af, size);
	bufferedInputStream.read(audio, 0, size);
	Clip clip = (Clip) AudioSystem.getLine(info);
	clip.open(af, audio, 0, size);
	clip.loop(100);
}
catch (Exception x)
{
	JOptionPane.showMessageDialog(null, "Dataerror");
}
```

Nun habe ich versucht das ganze mit einer If-Abfrage zu umklammern und wenn die Variable Musik false ist soll die Musik nicht abgespielt werden. Nur die If-Abfrage wird nur einmal am Anfang abgefragt und ist daher sinnlos. 
Ich hoffe ihr könnt mir helfen :toll:

P.S.: Wie kann ich die Musik endlos abspielen lassen? Mit clip.loop(100) wird sie ja "nur" 100 mal abgespielt.


----------



## Steev (17. Dez 2009)

Hi,



Pikkolini hat gesagt.:


> Und zwar bekomme ich es bei Java nicht hin die Musik über einen Klick auf einen Button auszustellen.
> 
> P.S.: Wie kann ich die Musik endlos abspielen lassen? Mit clip.loop(100) wird sie ja "nur" 100 mal abgespielt.



du kannst Musik per loop(-1) endloß abspielen (da gibt es auch eine Konstante in Clip für).

Deine Musik kannst du nicht mehr ausstellen, da du die Referenz auf dein Objekt "wegschmeist" und nicht mehr in der Hand hast wenn du sie brauchst. Mache dir stattdessen eine globale Variable "clip" und schreibe da den Clip rein.

Auf dem Button steht dann folgender Code:
[Java]if (clip != null)
  clip.stop();[/Java]

Guck dir eventuell mal folgendes Buch an:
www.javabuch.de - Das Handbuch der Java-Programmierung

Gruß
Steev


----------



## Pikkolini (17. Dez 2009)

Danke, hat geklappt


----------

