因为MediaPlayer状态(值)不一样,
当MediaPlayer.Status处于UNKNOWN 时(刚刚创建时的状态),
那么获取结束时间结果也是UNKNOWN.
代码片段一:
Media md=new Media(this.getClass().getResource("a.mp4").toString())
MediaPlayer mp=new MediaPlayer(md)
MediaView mv=new MediaView(mp)
mp.setAutoPlay(true)
System.out.println("创建后的状态"+mp.getStatus())//UNKOWN
System.out.println(mp.getStopTime())
代码片段二: 设置了开始时刻,和结束时刻
Media md=new Media(this.getClass().getResource("a.mp4").toString())
MediaPlayer mp=new MediaPlayer(md)
MediaView mv=new MediaView(mp)
mp.setAutoPlay(true)
mp.setStartTime(Duration.seconds(5))//5秒的位置开始
mp.setStopTime(Duration.seconds(10))//10秒的位置结束
System.out.println(mp.getStatus())// 打印MediaPlayer的状态
System.out.println(mp.getStopTime())// 结束的时刻 10毫秒处结束
System.out.println(mp.getTotalDuration())//总播放时间 结束时刻-开始时刻=总播放时间
完整的代码 如下
/////////////////////////////////////////////////////////////////////////////////
import javafx.application.Application
import javafx.scene.Scene
import javafx.scene.layout.BorderPane
import javafx.scene.media.*
import javafx.stage.Stage
public class MediaViewDemo extends Application{
public static void main(String[] args) {
launch(args)
}
@Override
public void start(Stage primaryStage) throws Exception {
BorderPane root=new BorderPane()
Media md=new Media(this.getClass().getResource("a.mp4").toString())
MediaPlayer mp=new MediaPlayer(md)
MediaView mv=new MediaView(mp)
mp.setAutoPlay(true)
System.out.println("创建后的状态"+mp.getStatus())
root.setCenter(mv)
Scene scene=new Scene(root, 300, 200)
primaryStage.setScene(scene)
primaryStage.setTitle("视频播放")
primaryStage.show()
//添加一个鼠标点击后的事件处理
mv.setOnMouseClicked(e->{
//如果视频处于播放状态. 那么点击后就暂停
if(mp.getStatus()==MediaPlayer.Status.PLAYING) {
mp.pause()
}else{//其余状态,试图播放视频
mp.play()
}
})
// 状态改变时,输出最新的状态
mp.statusProperty().addListener((ob,oldValue,newValue)->{
System.out.println("状态:"+newValue)
})
}
}
JavaFX脚本是一种声明式、静态类型编程语言。它具有一等函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-based evaluation)等特征。JavaFX脚本为多种多样的 *** 作提供了声明式、无中间程序逻辑的语法,这些 *** 作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)