MediaPlayer.play()突然结束

时间:2016-10-04 18:00:26

标签: javafx javafx-2 javafx-8

这是我的代码:

    public void run() {

        String filePath = queue.poll();

        // Nothing more to play
        if (filePath == null) {
            isPlaying = false;
            return;
        }

        isPlaying = true;
        File file = new File(filePath);
        String uriString = file.toURI().toString();
        player = new MediaPlayer(new Media(uriString));
        player.play(); 
        player.setOnEndOfMedia(this);
    }

如您所见,重复调用run()。在每次调用时,它从队列中获取head元素并播放它。

有时它会起作用,有时候游戏突然结束,onEndOfMedia永远不会开火。

该代码段没有显示,但我确实尝试重写onError,捕获异常等。有时,该剧仍然突然结束。

也许我应该从特定的线程中解雇它?

编辑:现在说太早,但是让玩家成为一个字段变量可能已经解决了问题。我的球员在比赛时收集了垃圾吗?

虽然在这:这是正确的做事方式吗?它是否会引入任何内存泄漏?

0 个答案:

没有答案