我正在尝试开发一个使用java - vlcj播放器的视频播放器应用程序。我需要给一堆视频的随机开始时间。然而,有些视频比我的随机开始时间要短。我需要跳过这些视频,然后播放下一个。
下面是我的代码:
for(int i=0;i<videoCount;i++){
int delay = playTime*1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
videoPath = randomvVideoPath(directory);
//*** times[0] is start time, times[1] is stop time***//
String[] times = startStop();
/*** I DONT KNOW IF THE START TIME IS SMALLER THAN THE VIDEO DURATION******/
mediaPlayerComponent.getMediaPlayer().playMedia(videoPath,":start-time="+times[0], ":stop-time="+times[1]);
}
};
new Timer(delay, taskPerformer).start();
}我怎样才能检查这个?mediaPlayerComponent.getMediaPlayer()的getLength()和getTime()没有给出正确的时间。
先谢谢你,,
发布于 2017-02-11 04:00:15
getLength()和getTime()确实会返回正确的时间,但有时此信息直到媒体播放后才可用。这就是VLC的工作原理。
我建议改用原生MediaInfo命令行实用程序的Java绑定,并使用它来获取视频长度。
https://stackoverflow.com/questions/42166352
复制相似问题