Hi,
Ich bin gerade dabei mich mit Sound und Threads in Java auseinander zusetzen.Mein Problem ist wie folgt:
Ich habe (erstmal) eine Oberfläche mit 3Buttons.
1. Play
2. Pause
3. Stop
Ich habe es auch hinbekommen das ich eine Sounddatei abspielen kann und sie wieder stopen kann.Nun habe ich aber auch versucht das abspielen anzuhalten. Dazu wollte ich die Methode wait() aus der Klasse Clip benutzen.
Aber da ich das abspielen nicht mit einem extra Thread verbunden habe kommt ein Fehler mit der Meldung:
"java.lang.IllegalMonitorStateException: current thread not owner".
Ich habe jetzt versucht das ganze über Threads zu Regeln. Wenn ich auf Play klicke startet mein Thread auch aber ich bekomme es einfach nicht hin ihn zu beenden(löschen). Wenn die Datei abgespielt wurde kann ich sie auch nicht noch mal abspielen, weil der Thread immer noch läuft. Ich habe es mit der While-Schleife die abbricht wenn isInterrupted() true ist wo sie dann auch reingeht.
Kann mir vielleicht jemand sagen wie ich sehen kann welche Threads noch laufen um sehen ob der Thread wirklich beendet wurde. Und was muss ich machen damit ich die Datei noch mal abspielen kann bzw zwischendurch anhalten kann und an der Stelle weiterspielen lassen.
Kann mir jemand noch sagen ob es irgendeinen Weg gibt Mp3s über Java laufen zu lassen?
Ich bedanke mich schon mal im vorraus für die Hilfe.
Ich bin gerade dabei mich mit Sound und Threads in Java auseinander zusetzen.Mein Problem ist wie folgt:
Ich habe (erstmal) eine Oberfläche mit 3Buttons.
1. Play
2. Pause
3. Stop
Ich habe es auch hinbekommen das ich eine Sounddatei abspielen kann und sie wieder stopen kann.Nun habe ich aber auch versucht das abspielen anzuhalten. Dazu wollte ich die Methode wait() aus der Klasse Clip benutzen.
Aber da ich das abspielen nicht mit einem extra Thread verbunden habe kommt ein Fehler mit der Meldung:
"java.lang.IllegalMonitorStateException: current thread not owner".
Ich habe jetzt versucht das ganze über Threads zu Regeln. Wenn ich auf Play klicke startet mein Thread auch aber ich bekomme es einfach nicht hin ihn zu beenden(löschen). Wenn die Datei abgespielt wurde kann ich sie auch nicht noch mal abspielen, weil der Thread immer noch läuft. Ich habe es mit der While-Schleife die abbricht wenn isInterrupted() true ist wo sie dann auch reingeht.
Kann mir vielleicht jemand sagen wie ich sehen kann welche Threads noch laufen um sehen ob der Thread wirklich beendet wurde. Und was muss ich machen damit ich die Datei noch mal abspielen kann bzw zwischendurch anhalten kann und an der Stelle weiterspielen lassen.
Kann mir jemand noch sagen ob es irgendeinen Weg gibt Mp3s über Java laufen zu lassen?
Ich bedanke mich schon mal im vorraus für die Hilfe.