JavaFX初探与MediaPlayer(5)

时间:2022-06-12 17:01:08

JavaFX MediaPlayer的常用方法


过了一个月,我终于又要更博客啦~ ~ ~
(请大家原谅这个重度拖延症患者~ ~ ~)
今天完结撒花啦~ ~ ~
为了方便那些嫌太长不看的,我留下github:
MediaPlayer_JavaFX - A simple Media Player on JavaFX


上次我们放出了早就被奶爆的京紫,但一个视频播放器显然不能这么简单。我们通常要打开文件,调进度,暂停,调音量等等。
JavaFX的MediaPlayer有很多方法来控制多媒体控件:

void play(); // 开始播放媒体
void pause(); // 暂停播放
void stop(); // 停止播放(回到起点)
void seek(Duration seekTime); // 设置播放时间
void setVolume(double value); // 设置音量
Duration getStopTime(); // 获得媒体结束时间

MediaPlayer设置音量还有个很方便的方法,用一个滑条来控制音量,把滑条值和音量值捆绑(bind)。我的代码里就是这么写的。

Slider slVolume = new Slider();
...
mplayer.volumeProperty().bind(slVolume.valueProperty().divide(100));

我在代码中,只用文字Play和Pause来表示播放和暂停,这两个只用一个键交替。这个没有很大的技术含量,大家自己参考github上的代码即可。

另一个要做的是打开文件。这个可以用javafx.stage.FileChooser来打开:

FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Media...");
fileChooser.getExtensionFilters().addAll(
    new FileChooser.ExtensionFilter("MP4 Video", "*.mp4"),
    new FileChooser.ExtensionFilter("MP3 Music", "*.mp3"),
    new FileChooser.ExtensionFilter("All Files", "*.*"));


好啦,具体实现大家可以自己玩啦,代码用GPL v2.0发布,欢迎大家学习~
JavaFX初探与MediaPlayer(5)
(这次效果图是爱衣酱)
(来自被叫去吃年夜饭的博主,无耻烂尾~ ~)