java - 带有 MediaView 的 ToogleButton。JavaFX/Java
问题描述
我正在尝试使用 java、javaFX 和 scenebulider 来模仿电视屏幕。现在我可以播放视频,但一开始我不知道如何让它关闭,然后按下按钮后它就会播放。这是我的控制器代码
public class Controller implements Initializable {
@FXML
private Slider suwak2;
@FXML
private Slider suwak5;
@FXML
private Slider suwak1;
@FXML
private Slider suwak4;
@FXML
private Slider suwak6;
@FXML
private Slider suwak3;
@FXML
private ToggleButton wlacznik;
@FXML
private MediaView mv;
private MediaPlayer mp;
private Media me;
@Override
public void initialize(URL location, ResourceBundle resources)
{
String path=new File("src/application/lol.mp4").getAbsolutePath();
Path clip = new Path(new MoveTo(50, 400), new ArcTo(50, 200, 0, 50, 0, false, true), new HLineTo(450), new ArcTo(50, 200, 0, 350, 400, false, true), new ClosePath());
clip.setFill(Color.BLACK);
clip.setStroke(null);
mv.setClip(clip);
me = new Media(new File(path).toURI().toString());
mp = new MediaPlayer(me);
mv.setMediaPlayer(mp);
mp.setAutoPlay(true);
mp.setCycleCount(MediaPlayer.INDEFINITE);
suwak1.setValue(mp.getVolume() * 100);
suwak1.valueProperty().addListener(new InvalidationListener() {
@Override
public void invalidated(Observable observable) {
mp.setVolume(suwak1.getValue()/100);
}
});
}
}
suwak1 是我的音量滑块, wlacznik 是我的开关按钮。
解决方案
也许你需要一个Button
播放/停止
Button stop = new Button("STOP");
stop.setOnAction((e) -> mp.stop());
Button play = new Button("Play");
play.setOnAction((e) -> mp.play());
推荐阅读
- python - Python pandas:将数据框合并到系列索引和数据框列上的系列
- r - 将不同的日期和时间列合并为一列作为日期时间
- jquery - ajax 调用中不需要的 null 导致未找到错误
- c# - C# 服务器客户端在连接 UWP 时失败 (2)
- python - 升级过时的软件包后 pip 需要密码
- c++ - c++ r值引用应用于函数指针
- linux - 当 IP 地址改变时 TCP 套接字会发生什么?
- excel - 我需要帮助修复这个 VBA 宏
- r - Alternative to (m)get in data.table functions
- firebase - Difference between Firebase service account key files from Firebase and from GCloud?