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

#6 gna

Nevím, co myslíš tím cože? Každopádně díky a už jsem na to taky přišel, akorát nevím proč máš poslední dva řádky takhle?

mediaPlayer.setOnEndOfMedia(() -> play());

mediaPlayer.play();

Já jsem je napsal obráceně.

Každopádně bez ohledu na to, jak jsou tyto dva řádky seřazené, to funguje správně, ale NetBeans vyhodí chybu.

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at archivator.Player.play(Player.java:24)
    at archivator.Player.lambda$play$0(Player.java:27)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)

A to je taky poslední věc, s kterou bych chtěl poradit.

Díky.

Michal
Java › Java - Javafx Media Player
22. 1. 2017   #214599

#2 gna

Díky. Jenže naskytl se další problém, SetOnEndOfMedia funguje správně, ale pouze jednou. Potřebuji to upravit tak, aby se to volalo neustále.

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();
        });
    }

    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();
    }
}

 

 

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