#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发布,欢迎大家学习~

在这里插入图片描述

(来自被叫去吃年夜饭的博主,无耻烂尾~ ~)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐