Anonymní profil Michal – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Michal – Programujte.comAnonymní profil Michal – Programujte.com

 

Příspěvky odeslané z IP adresy 185.137.18.–

Michal
Java › Java - Javafx Media Player
23. 1. 2017   #214609

#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.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý