Как узнать время начала видео меньше, чем продолжительность видео в плеере java-vlcj
Я пытаюсь разработать приложение видеоплеера с помощью Java -VLCC Player. Мне нужно дать случайное время начала для нескольких видео. Однако некоторые видео короче моего случайного времени начала. Мне нужно пропустить эти видео и воспроизвести следующие.
Вот мой код:
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();
}
Как я могу это проверить? getLength() и getTime() из mediaPlayerComponent.getMediaPlayer() не дают правильное время.
Заранее спасибо,,
1 ответ
getLength() и getTime() возвращают правильное время, но иногда эта информация недоступна до тех пор, пока не будет воспроизведен носитель. Вот как работает VLC.
Я бы предложил вместо этого посмотреть на привязки Java для нативного MediaInfo
утилита командной строки и с помощью этого, чтобы получить длину вашего видео.