#4 gna
Ano. Velice vtipné. Ne. Konec srandy. Já vím, proč se to zavolá pouze jednou. Když to napíšu takhle, tak se to znovu zavolá dvakrát.
import java.io.File;
import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Player {
static MediaPlayer mediaPlayer;
public static void main(String[] args) {
play();
mediaPlayer.setOnEndOfMedia(() -> {
play();
mediaPlayer.setOnEndOfMedia(() -> {
play();
});
});
}
private static 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());
mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();
}
}
Jenže tenhle způsob je nesmysl a i kdybych to vnořil kolikrát chtěl, tak bych vždycky stejně dospěl do bodu, kdy by se to znova nezavolalo.
Právě proto bych byl rád, kdybys mně poradil, jak to mám napsat. Pravděpodobně bych vytvořil vevnitř vlákno, které by to kontrolovalo. Jenže nevím jak.
Předem díky.