Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Java - podpora audio/video souborů

import java.io.File;
import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaPlayer.Status;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

public class Player {

static MyThread thread = new MyThread();

public static void main(String[] args) {
thread.start();
}

public static class MyThread extends Thread {

static MediaPlayer mediaPlayer;

@Override
public void run() {
play();
for (;;) {
if (!MyThread.mediaPlayer.getStatus().equals(Status.P LAYING))
System.out.println(MyThread.mediaPlayer.getStatus( ));
play();
}
}

public void play() {
new JFXPanel();
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileNameExtensionFilter("Cat", "mp3", "wav"));
fileChooser.showOpenDialog(null);
String musicFile = fileChooser.getSelectedFile().getAbsolutePath();
Media hit = new Media(new File(musicFile).toURI().toString());
MyThread.mediaPlayer = new MediaPlayer(hit);
MyThread.mediaPlayer.play();
}
}
}


Nevím proč to nefunguje. Při každém průchodu je podmínka vždy splněna. A navíc to vyhazuje chybu.

Exception in thread "Thread-0" java.lang.NullPointerException
at archivator.Player$MyThread.play(Player.java:38) - String musicFile = fileChooser.getSelectedFile().getAbsolutePath();
at archivator.Player$MyThread.run(Player.java:29) - play(); v podmínce

Ve vláknech se moc nevyznám, takže prosím o radu.

Děkuji.

PS. A Thread už neobsahuje metodu sleep. Nevím, jak ji nahradit.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny