我们可以使用JavaFX Media API加载扩展名为.mp3, .wav和.aifff的音频文件。我们还可以以HTTP实时流格式播放音频。它是JavaFX 8中引入的新功能, 也称为HLS。
【JavaFX播放音频】用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 classMedia 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);
} }
推荐阅读
- JavaFX PieChart
- JavaFX路径转换
- JavaFX暂停过渡
- JavaFX并行过渡
- JavaFX PasswordField
- win8系统安装sql server软件后找不到怎样办
- win8系统怎样安装网络打印机|win8系统安装网络打印机的办法
- Win8安装软件提示“需要用管理员身份才能安装软件”怎样办
- Win8系统输入密钥后提示“处于通知模式”怎样办