我正在尝试使用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()没有给出正确的时间。
提前致谢,
答案 0 :(得分:0)
getLength()和getTime() do 返回正确的时间,但有时这些信息在播放媒体后才可用。这就是VLC的工作原理。
我建议改为查看本地MediaInfo
命令行实用程序的Java绑定,并使用它来获取视频长度。