PlayButton mehrmals starten?

Status
Nicht offen für weitere Antworten.

ItzChris

Mitglied
Hi Leute, ich hab ein Problem bei meinem "MP3Player".
Ich hab den Player jetzt soweit, das ich eine Datei auswählen kann und sie mit dem PlayButton starten kann, anschließen kann ich sie mit dem StopButton wieder stoppen.

Mein Problem ist das ich den PlayButton nur einmal verwenden kann.... Also wenn ich schon eine Datei abgespielt habe muss ich den Player wieder neu starten damit ich den Button wieder verwenden kann um ein neues Lied abzuspielen.

Wäre nett wenn mir jemand helfen kann, hier ist der Quellcode:

[highlight=Java]
import java.io.*;
import javax.swing.*;
import javax.swing.JFileChooser;
import javax.swing.event.*;
import java.awt.*;
import java.util.ArrayList;
import java.awt.event.*;
import javazoom.jl.player.advanced.*;
import javazoom.jl.decoder.*;

public class ProjektNeu extends JFrame{
JButton dir = new JButton("Durchsuchen");
JButton play = new JButton("Play");
JButton stop = new JButton("Stop");
JLabel statusbar = new JLabel("Auswahl anzeige");
String dateipfad;
startThread demoThread;
boolean running = true;
AdvancedPlayer p;

ProjektNeu(){
super("Projekt");
setSize(350,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);

Lauscher l = new Lauscher();

demoThread = new startThread();

Container c = getContentPane();
c.setLayout(new FlowLayout());

dir.addActionListener(l);
play.addActionListener(l);
stop.addActionListener(l);

c.add(dir);
c.add(play);
c.add(stop);
c.add(statusbar);
}

class Lauscher implements ActionListener{
public void actionPerformed(ActionEvent ae){
String aktion = ae.getActionCommand();

if(aktion.equals("Durchsuchen")){
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int option = chooser.showOpenDialog(ProjektNeu.this);

if(option == JFileChooser.APPROVE_OPTION){
statusbar.setText("Sie haben dieser Verzeichnis geöffnet: " +((chooser.getSelectedFile() !=null)?chooser.getSelectedFile().getAbsolutePath():"nothing"));
File pfad = chooser.getSelectedFile();
dateipfad = pfad.getAbsolutePath();
}
else{
statusbar.setText("Sie haben abgebrochen");
}
}

if(aktion.equals("Play")){
try{

running = true;
while(running){
demoThread.start();
}
}
catch(Exception e){

}
}

if(aktion.equals("Stop")){
running = false;
if(!running){
p.close();
}
}
}
}

class startThread extends Thread{
public void run(){
try{
p = new AdvancedPlayer(new FileInputStream(dateipfad));
p.play();
}
catch(Exception e){

}
}
}

public static void main(String[] args) throws FileNotFoundException, JavaLayerException{
ProjektNeu pn = new ProjektNeu();
pn.setVisible(true);
pn.setLocation(300,300);
}
}
[/highlight]

Danke für eure Hilfe.

Mfg Chris!
 

max40

Bekanntes Mitglied
Ohne es mir genau angeguckt zu haben

[HIGHLIGHT="Java"] if(aktion.equals("Play")){
try{

running = true;
while(running){ // FALSCH oder warum willst im ms bereich starten?
demoThread.start();
} // FALSCH
}
catch(Exception e){

}
}

if(aktion.equals("Stop")){
running = false;
if(!running){ // FALSCH
p.close();
} // FALSCH
}[/HIGHLIGHT]
 
Zuletzt bearbeitet von einem Moderator:

ItzChris

Mitglied
Also erstmal danke für die schnelle Antwort..
Aber wenn ich das so mache wie du es gesagt hast, hab ich immer noch das Problem das ich den PlayButton nur einmal verwenden kann.
 

max40

Bekanntes Mitglied
Ja jetzt sehe ich deinen Fehler, einen Thread kann man nur einmal starten!
und wenn du bei
catch(Exception e){

}

ein e.printStackTrace gemacht hättest, wärst vielleicht selber drauf gekommen!
Aber Fehler kann man ja ignorieren :(
 
Zuletzt bearbeitet:

ItzChris

Mitglied
Also ich hab jetzt den Thread in der Play- Funktion erstellt, damit müsste der Fehler ja eigentlich behoben sein.
Anschließend den Thread in der Stop- Funktion auf null gesetzt.

Nur hat mir das bis jetzt auch noch nicht viel weitergeholfen.

[highlight=Java]
if(aktion.equals("Play")){
try{
demoThread = new startThread();
running = true;
demoThread.start();
}
catch(Exception e){

}
}

if(aktion.equals("Stop")){
if(running){
demoThread = null;
}
running = false;
p.close();
}
}
}

class startThread extends Thread{
public void run(){
try{

p.play();
}
catch(Exception e){

}
}
}
[/highlight]

Oder brauch ich dafür den playback listener?
 
Zuletzt bearbeitet:

max40

Bekanntes Mitglied
nochmal:
Mach bei einer Exception ein e.printStackTrace

dein p.close() schließt bestimmt auch dein FileInputStream, wenn ja, wo wird er wieder erzeugt/geöffnet?

und wenn dann immer noch nicht weiter kommst, dann zeigst nochmal deine Code!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Master3000 Java Datei mehrmals einlesen Allgemeine Java-Themen 4
D API Keys mehrmals verwenden Allgemeine Java-Themen 6
J Farbe von Buttons mehrmals ändern Allgemeine Java-Themen 5
M Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen? Allgemeine Java-Themen 8
X Threads Thread mehrmals verwenden Allgemeine Java-Themen 4
J Threads mehrmals starten Allgemeine Java-Themen 18
G Thread mehrmals starten Allgemeine Java-Themen 4
G Mehrmals replace() auf langem String, zu speicherintensiv Allgemeine Java-Themen 10
S Action mehrmals klicken Allgemeine Java-Themen 3
S Verhindern das Programm mehrmals geöffnet wird Allgemeine Java-Themen 26
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
E Java .exe Datei mit args starten Allgemeine Java-Themen 2
Lukas2904 Automatisches starten des Programms Allgemeine Java-Themen 5
N jar File auf Mac mit Doppelklick starten Allgemeine Java-Themen 5
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
I Threads AudioInputStream separat starten und beenden; parallel programming Allgemeine Java-Themen 2
G Jar lässt sich mit macOS nicht starten Allgemeine Java-Themen 9
Tommy135 Input/Output Application aus Java package starten Allgemeine Java-Themen 2
H Erste Schritte Ausführbare Dateien lassen sich nicht starten Allgemeine Java-Themen 5
ralfb1105 Classpath putty.exe aus JAR starten Allgemeine Java-Themen 37
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
F .jar erstellen und starten Allgemeine Java-Themen 15
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
D Compiler-Fehler Ich kann meinen Kompilierer nicht starten. Allgemeine Java-Themen 16
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
L Eclipse JavaFX Klasse starten programmatisch Allgemeine Java-Themen 1
V Endlosschleife mit Startbutton starten und Stopbutton stoppen Allgemeine Java-Themen 6
V JavaFX Fehler beim Starten einer Jar Allgemeine Java-Themen 7
A Javaagent auf WebApplication starten Allgemeine Java-Themen 0
B JAVA - mehrere Clienten gleichzeitig starten. Nicht bei Code! Allgemeine Java-Themen 3
T Starten vom Thread Allgemeine Java-Themen 3
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
K Problem: Java-Klasse mit mehreren Threads als eigenen Prozess starten Allgemeine Java-Themen 3
Thallius Neuen Prozess starten, der auch nach Beedingung des Starter-Prozesses weiterläuft? Allgemeine Java-Themen 5
P Threads Threads nicht gleichzeitig starten Allgemeine Java-Themen 3
Maxim6394 Jar Dateien starten nicht Allgemeine Java-Themen 7
C Mit Pc Awendungen auf Server starten Allgemeine Java-Themen 8
M Eclipse Eine xhtml aus einem JSF Projekt starten Allgemeine Java-Themen 2
Developer_X Java Applets in Browser starten Allgemeine Java-Themen 9
N GOM-Database Program - wie starten Allgemeine Java-Themen 0
F Java Anwendung Remote starten geht nicht Allgemeine Java-Themen 0
F Spiel lässt sich nicht aus GUI starten Allgemeine Java-Themen 5
P Starten einer Java .jar-Datei Allgemeine Java-Themen 0
J jar Datei per Doppelklick starten Allgemeine Java-Themen 6
D neuen Prozess starten und anwendung beenden. Allgemeine Java-Themen 3
B Webbrowser mit Proxy- Verbindung starten Allgemeine Java-Themen 6
K Spiele starten nicht richtig Allgemeine Java-Themen 2
M Problem beim Starten der Anwendung Allgemeine Java-Themen 3
B Java GUI via SSH starten... Allgemeine Java-Themen 5
S VLC + Lied über Java starten Allgemeine Java-Themen 17
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
C Ubuntu-VM Java starten Allgemeine Java-Themen 24
A Programm will nicht starten... Allgemeine Java-Themen 7
Hoppelmann JAR mit Libaries und Natives vom Programm aus starten Allgemeine Java-Themen 5
V .jar nicht zweimal starten Allgemeine Java-Themen 4
C Java Programm über SSH starten Allgemeine Java-Themen 16
Jackii Java Programm aus anderen Java Programm starten Allgemeine Java-Themen 20
A Javaprogramm als Windowsservice starten Allgemeine Java-Themen 4
C Threads ExecutorService shutdown abbrechen und service "starten" ? Allgemeine Java-Themen 3
J Explorer über Code starten Allgemeine Java-Themen 15
G Java Programm aus Java Programm starten Allgemeine Java-Themen 6
X Neuerdings ein Problem mit dem Starten von Jars Allgemeine Java-Themen 5
C .jar bei Login starten Allgemeine Java-Themen 7
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
A Jars oder JNLPs aus java code in gleicher JVM starten Allgemeine Java-Themen 2
N Internet Explorer mit bestimter Java Runtime starten Allgemeine Java-Themen 2
G mehrere Threads starten/stoppen Allgemeine Java-Themen 4
K Programm mit verschiedenen Parametern starten Allgemeine Java-Themen 2
S Applet maximiert starten Allgemeine Java-Themen 5
T Externes Programm auf anderem Bildschirm starten Allgemeine Java-Themen 3
F Externes Programm starten, Speicheraufwändig Allgemeine Java-Themen 7
C Java Anwendung nur einmalig starten Allgemeine Java-Themen 10
Q Java aus Java starten Allgemeine Java-Themen 21
E Anwendung starten Allgemeine Java-Themen 3
E Programm von Main Methode starten Allgemeine Java-Themen 9
L AccessControlException beim starten aus einem Shellskript Allgemeine Java-Themen 3
J Java-Klasse über Konsole starten Allgemeine Java-Themen 6
T Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 13
J Eclipse Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 14
H Swing jar-Dateien starten nicht auf konventionellem Wege. Allgemeine Java-Themen 6
Y Anwendung starten(JAR) - Entscheidung Konsole oder Swing Allgemeine Java-Themen 5
K Prozess starten, überwachen und beenden Allgemeine Java-Themen 4
P Thread starten / stoppen / neustarten Allgemeine Java-Themen 8
T Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ? Allgemeine Java-Themen 22
P Windows Media Player starten / finden Allgemeine Java-Themen 2
K Starten eines Threads Allgemeine Java-Themen 13
C Beste Möglichkeit eine jar mit großem Heapspace zu starten ? Allgemeine Java-Themen 8
D Starten von Threads via JVM Allgemeine Java-Themen 7
C .jar unter Windows7 über den Explorer starten Allgemeine Java-Themen 6
M Java Programm als Dienst starten... Allgemeine Java-Themen 4
T doppeltes Starten verhindern Allgemeine Java-Themen 14
S Seperaten Thread starten Allgemeine Java-Themen 5
L Thread kurz unterbrechen und wieder starten Allgemeine Java-Themen 5
V Shellscript über ProcessBuilder starten Allgemeine Java-Themen 2
X Aus Java Applikation externes Programm starten Allgemeine Java-Themen 3
S Jar Datei mit mehr Speicher starten Allgemeine Java-Themen 2
L Jar File aus Quelltext heraus starten Allgemeine Java-Themen 9
M Java Klasse automatisch starten Allgemeine Java-Themen 3
E Zweites Java Programm sichtbar starten Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben