Java Mp3 player
lima-city → Forum → Programmiersprachen → Java
abspielen
auftauchen
auslagerung
code
funktion
grad
helfen
import
laufen
methode
ressource
run
sache
sinn
song
starten
stoppen
string
system
url
-
Hej Leude,.
ich bin grad dabei nen Mp3 play zu schreiben,.
ich habs soweit, dass ich den song abspielen kann,.
nur leider reagiert die oberfläche nicht mehr solange der Song läuft,.
ich hoffe mir kann vllt jemand helfen
Hier mein Code:
import java.io.FileInputStream; import java.io.FileNotFoundException; import javazoom.jl.decoder.JavaLayerException; import javazoom.jl.player.advanced.AdvancedPlayer; import javazoom.jl.player.AudioDevice; public class mp3{ AdvancedPlayer p; String filename; public mp3test(String filename){ this.filename=filename; } public void stop(){ p.stop(); } public void play(){ try{ FileInputStream in = new FileInputStream(filename); p = new AdvancedPlayer(in); p.play(); } catch (JavaLayerException jle) { System.err.println ("Error: " + jle); } catch (FileNotFoundException fnf) { System.err.println ("Error: " + fnf); } } }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin,
das passiert weil Dein aktueller Thread auch für die GUI zuständig ist.
Das bedeutet also, dass wenn er durch das Abspielen eines Songs ausgelastet ist,
die GUI eingefroren wird und zwar so lange, bis er wieder freigegeben wird.
Die Lösung liegt in der sogenannten Nebenläufigkeit, sprich die Auslagerung des Abspielens in einen eigenen Thread.
Hier ein Link zum besseren Verständnis:
http://openbook.galileocomputing.de/javainsel8/javainsel_11_001.htm
Gruß,
Pawnee
-
Moin,
es ist richtig, dass alles im Thread über die run-Methode abgewickelt wird.
Du kannst ja von der Thread-Klasse ableiten und etwas eigenes kreieren.
Und ja, starten und stoppen des Threads ist ja der Sinn der Sache.
Wenn etwas verarbeitet wird soll er ja laufen, wenn nichts gebraucht, wird er gestoppt - wozu unnötig Ressourcen verschwenden?
Aber ... alles was Du zur Ausführung benötigst, muss eben irgendwo in der run-Methode auftauchen.
Gruß,
Pawnee -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage