Я использую vlcj в java для воспроизведения файлов wav, которые расширяются другими службами. Моя проблема заключается в следующем:
когда я открываю аудиофайл, плеер знает, что продолжительность составляет x секунд. Если он достигает конца, он должен повторно открыть (player.controls().start()
) файл, чтобы узнать расширенную продолжительность. Этот перезапуск вызывает микрозаикание при воспроизведении (например, 0,1 секунды), но его можно услышать, и если процесс расширения идет медленно, заикание может происходить каждые 2 секунды.
У меня нет возможности изменить базовую архитектуру, поэтому я не могу использовать потоковую передачу.
Основная проблема, которую я вижу после нескольких часов исследований, заключается в том, что vlcj не предоставляет способа вручную обновить продолжительность (которую я могу рассчитать по размеру файла) воспроизводимого аудиофайла (вероятно, он загружает его в память при открытии, я думаю) .
Кто-нибудь пытался успешно реализовать такое воспроизведение?