Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaFX从Swing播放mp3文件_Java_Swing_Javafx - Fatal编程技术网

使用JavaFX从Swing播放mp3文件

使用JavaFX从Swing播放mp3文件,java,swing,javafx,Java,Swing,Javafx,我有一个Swing应用程序,现在我想播放一些声音文件。我认为最好的方法(不使用外部库)是使用JavaFX 所以我尝试从swing调用一个方法,但我遇到了各种错误。然后我找到了一种不再出现错误的方法,但它只播放文件半秒钟 public static void initBackgroundSound() { final JFXPanel fxPanel = new JFXPanel(); Platform.runLater(new Runnable() { @Over

我有一个Swing应用程序,现在我想播放一些声音文件。我认为最好的方法(不使用外部库)是使用JavaFX

所以我尝试从swing调用一个方法,但我遇到了各种错误。然后我找到了一种不再出现错误的方法,但它只播放文件半秒钟

public static void initBackgroundSound() {
    final JFXPanel fxPanel = new JFXPanel();
    Platform.runLater(new Runnable() {
        @Override public void run() {  
            String bip = "fox.mp3";
            Media media = new Media(new File(bip).toURI().toString());

            final MediaPlayer player = MediaPlayerBuilder.create()
                .media(media).build();
            player.play();
        }
    });
}

请提供帮助。

当我运行以下代码时,我能够播放完整长度的声音:

MediaPlayer player;
Media audioFile = new Media(new File("FILEPATH").toURI().toString());
player = new MediaPlayer(audioFile);
player.play();

您是使用了
Platform.runLater
还是自己运行这四行?