JavaFX无法播放mp3文件

时间:2015-06-08 17:43:42

标签: java audio javafx

我遵循了本教程:http://what-when-how.com/javafx-2/playing-audio-using-the-media-classes-javafx-2-part-1/

package audioVideo;

import java.net.URL;

import javafx.application.Application;
import javafx.scene.media.*;
import javafx.stage.*;

public class AudioPlayer1 extends Application
{
    public static void main(String args[])
    {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage)
    {
        URL resource = getClass().getResource("resources/sample.mp3");
        Media media = new Media(resource.toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.play();

        primaryStage.setTitle("Audio Player 1");
        primaryStage.setWidth(200);
        primaryStage.setHeight(200);
        primaryStage.show();
    }
}

我在相应的.class文件所在的目录中有相应的资源文件夹,但我仍然无法播放音频。 mp3文件与教程中的文件不同,但我也有一个等效的.wav,发现JavaFX可以开箱即用* .wav文件而不是mp3文件。发生了什么事?

我正在通过Eclipse使用64位Ubuntu 15.04。它不能是资源问题,因为.wav文件与.mp3文件位于同一文件夹中,但前者可以播放但后者不能播放。我是否需要某些依赖项才能正确播放mp3文件?我可以直接从Ubuntu播放mp3文件。

1 个答案:

答案 0 :(得分:0)

首先,导入以下内容:

import java.nio.file.Paths;

然后,在创建媒体时,请执行以下操作:

Media media = new Media(("yourAudio.fileExtension").toUri().toString());
MediaPlayer player = new MediaPlayer(media);

应该这样做(至少对于一个mp3)。