我遵循了本教程: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文件。
答案 0 :(得分:0)
首先,导入以下内容:
import java.nio.file.Paths;
然后,在创建媒体时,请执行以下操作:
Media media = new Media(("yourAudio.fileExtension").toUri().toString());
MediaPlayer player = new MediaPlayer(media);
应该这样做(至少对于一个mp3)。