Если вы хотите (по заголовку вопроса) определить, когда видео закончило воспроизведение, вы должны использовать прослушиватель событий - вы не должны использовать замкнутую петлю, которая запрашивает состояние медиаплеера, поэтому используйте:
mpu.getMediaPlayer().addMediaPlayerEventListener(new MediaPlayerEventAdapter() {
@Override
public void finished(MediaPlayer mediaPlayer) {
// Code to execute here when media player finished playing...
}
});
Если вы хотите воспроизвести другой мультимедийный файл (в вашем случае аудиофайл) после завершения первого видео, вам может потребоваться использовать EmbeddedMediaListPlayerComponent, который позаботится о том, чтобы воспроизвести для вас список воспроизведения.
Использование EmbeddedMediaListPlayerComponent - это совсем другой подход, который может сработать для вас, но нет ничего плохого в использовании прослушивателя событий для управления собственным плей-листом.
Остальная часть вашего вопроса спрашивает о полноэкранном поведении.
В коде, который вы опубликовали, ничего не происходит, что приведет к тому, что медиаплеер выйдет из полноэкранного режима, поэтому что-то еще, что вы не отправили, в вашем коде идет не так.
Возможно, вам нужно разместить больше кода, чтобы показать, как именно вы реализуете полноэкранный режим - в частности, вы пока не указали, как вы вставляете медиаплеер в приложение и как точно вы входите в полноэкранный режим ,
Существует также много примеров в источниках тестирования vlcj, которые демонстрируют списки воспроизведения, события и полноэкранный режим на всех платформах, которые вы должны просмотреть.
Разве это не игрок, а не ваш код, который заканчивается в полноэкранном режиме? –
Нет, если я прокомментирую эти строки, то программа держится на полноэкранном режиме – Marie
Эта плотная петля - очень плохая идея. Вы должны использовать события. – caprica