📜  javafx-播放音频

📅  最后修改于: 2020-10-14 07:26:31             🧑  作者: Mango

播放音讯

我们可以使用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 =新的MediaPlayer(media);
  • 触发onReady事件时,调用MediaPlayer对象的play()方法。
MediaPlayer.setAutoPlay(true);

媒体文件可以位于Web服务器上或本地文件系统上。 SetAutoPlay()方法是使用lambda表达式设置setOnReady()事件处理程序以处理事件的捷径。

在以下示例中,执行此应用程序后,将播放位于我们计算机中“ /home/javatpoint/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/javatpoint/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);
}

}