我们可以使用JavaFX Media API加载扩展名为.mp3, .wav和.aifff的音频文件。我们还可以以HTTP实时流格式播放音频。它是JavaFX 8中引入的新功能, 也称为HLS。
用JavaFX播放音频文件很简单。为此, 我们需要通过在其构造函数中传递音频文件路径来实例化javafx.scene.media.Media类。下面介绍了播放音频文件所需遵循的步骤。
通过在音频文件的构造函数中传递音频文件的位置来实例化javafx.scene.media.Media类。为此, 请使用以下代码行。
Media media = new Media("http://path/file_name.mp3");
将Media类对象传递给javafx.scene.media.MediaPlayer对象的新实例。
Mediaplayer mediaPlayer = new MediaPlayer(media);
触发onReady事件时, 调用MediaPlayer对象的play()方法。
MediaPlayer.setAutoPlay(true);
媒体文件可以位于Web服务器上或本地文件系统上。 SetAutoPlay()方法是使用lambda表达式设置setOnReady()事件处理程序以处理事件的捷径。
例
在以下示例中, 执行此应用程序后, 将播放我们计算机中“ /home/srcmini/Downloads/test.mp3”中的音频文件。
package application;
import java.io.File;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class JavaFX_Media Example extends Application
{
@Override
public void start (Stage primaryStage) throws Exception {
// TODO Auto-generated method stub
//Initialising path of the media file, replace this with your file path
String path = "/home/srcmini/Downloads/test.mp3";
//Instantiating Media class
Media media = new Media(new File(path).toURI().toString());
//Instantiating MediaPlayer class
MediaPlayer mediaPlayer = new MediaPlayer(media);
//by setting this property to true, the audio will be played
mediaPlayer.setAutoPlay(true);
primaryStage.setTitle("Playing Audio");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
评论前必须登录!
注册