📜  JavaFX 多媒体(1)

📅  最后修改于: 2023-12-03 14:42:22.700000             🧑  作者: Mango

JavaFX 多媒体

JavaFX 多媒体是 JavaFX 包中提供的一组功能,用于处理多媒体内容。它可以帮助我们创建出色的视频和音频应用程序。JavaFX 多媒体支持音频视频解码和播放、图像捕获、网络流媒体传输等。

播放媒体

JavaFX 多媒体提供了一个名为 MediaPlayer 的类,可以用它来播放媒体文件(例如 MP3、WAV、FLV、MP4、AVI 等)。

Media media = new Media("file:///path/to/media/file.mp4");
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();

首先创建一个 Media 对象,然后将其传递给一个 MediaPlayer 对象。调用 play() 方法即可开始播放媒体。

监听媒体事件

我们可以通过 MediaPlayer 实例的 setOn***() 方法来设置媒体事件的回调。例如,要在媒体播放完成时得到通知,我们可以使用 setOnEndOfMedia() 方法设置回调:

mediaPlayer.setOnEndOfMedia(() -> {
    System.out.println("媒体播放结束");
});

此外,JavaFX 多媒体还提供了其他事件回调,如播放状态更改( setOnPlaying()setOnPaused()setOnStopped() )、播放时间更改( setOnTime() )等。

控制媒体播放

我们可以在 MediaPlayer 实例上调用一些方法来控制媒体的播放状态,例如停止、暂停、播放、跳转到指定的时间等。

mediaPlayer.pause();
mediaPlayer.play();
mediaPlayer.stop();
mediaPlayer.seek(Duration.seconds(10));
显示视频

JavaFX 多媒体提供了一个名为 MediaView 的节点,可以用来在 JavaFX 界面上显示媒体内容(例如视频)。我们只需要将 MediaPlayer 对象设置到 MediaView 实例上即可:

MediaView mediaView = new MediaView(mediaPlayer);
root.getChildren().add(mediaView);

MediaView 对象是一个节点,可以添加到 JavaFX 场景图中的任何部分(例如 Pane、HBox、VBox 等)。当媒体开始播放时,MediaView 将自动更新其显示内容。

小结

JavaFX 多媒体提供了一组强大的功能,使我们能够处理多媒体内容。通过 MediaPlayerMediaView,我们可以轻松地播放音频和视频文件,并控制其播放状态。此外,JavaFX 多媒体还提供了一些其他便利的功能,例如监听媒体事件。