Как узнать время начала видео меньше, чем продолжительность видео в плеере 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 утилита командной строки и с помощью этого, чтобы получить длину вашего видео.

Другие вопросы по тегам