Нужно воспроизводить видео в видеовиде только путем буферизации, не загружая сначала полное видео.Есть ли библиотека для этого? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть проект, посвященный воспроизведению видео в videoview.Видео воспроизводится хорошо и в этом нет проблем.Проблема в том, что видео загружается в видеовиде после полной загрузки.Так что для начала видео требуется начальное время.Это большая проблема для меня, и мне нужно решение или любая библиотека, подходящая для буферизации URL видео (на 20%) и воспроизведения без полной загрузки.

    videoView.setOnPreparedListener(
            new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mediaPlayer) {

                    progress_bar.setVisibility(View.GONE);

                    if (mCurrentPosition > 0) {
                        videoView.seekTo(mCurrentPosition);
                    } else {
                        videoView.seekTo(1);
                    }
                    videoView.start();
                }
            });

1 Ответ

0 голосов
/ 18 февраля 2019

Как уже упоминалось в комментариях, ExoPlayer, как правило, является хорошей идеей для воспроизведения видео на Android, поэтому стоит подумать об его использовании.

Однако для вашей конкретной проблемы вы, вероятно, захотите взглянуть на сервер.в частности, для обеспечения того, чтобы ваш сервер принимал запросы диапазона и чтобы видео было настроено для быстрого запуска, если это MP4 - это перемещает информацию метаданных в начало видео, а не в его конец.

Вы можете найти дополнительную информацию о запросах диапазона здесь, а также пример того, как проверить, принимает ли их сервер: https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests

curl -I http://i.imgur.com/z4d4kWk.jpg

HTTP/1.1 200 OK
...
Accept-Ranges: bytes
Content-Length: 146515

Большинство серверов принимают их, поэтому, если вы обнаружите, что это не такЭто может быть просто проблема конфигурации.

Для перемещения mp4 'атома MooV', информации заголовка метаданных, в начало есть довольно много инструментов, которые позволят вам сделать это, включая инструмент ручного тормоза с открытым исходным кодом (смотритев поле «Оптимизировано для сети»):

...