Поиск / запуск мультимедиа в нужном месте на Chromecast с Android с моего собственного веб-сервера

В настоящее время я разрабатываю мультимедийное приложение для Android, которое может транслировать его мультимедиа в Google Chromecast.

Это приложение не предназначено для публикации, поэтому некоторые неортодоксальные варианты, которые я сделал (веб-сервер, локальные файлы и т. д.), не являются частью обсуждения.

Проблема в том, что когда я загружаю медиапоток в Chromecast или ищу в потоке, он не меняется. Обратный вызов говорит, что это удалось, но фильм продолжает воспроизводиться с нуля (когда я загружаюсь с начальной позицией) и не меняется, когда я выполняю remoteMediaPlayer.seek(XX).

Фильм, который воспроизводится локально, представляет собой файл на SD-карте. В то же время на телефоне работает веб-сервер (KWS), и chromecast получает этот URL-адрес. В противном случае это работает отлично - я могу воспроизводить, приостанавливать и изменять воспроизведение фильма. Нет проблем. Но у меня проблема с поиском.

Причина, по которой я упоминаю веб-сервер, заключается в том, что когда я запускаю URL-адрес "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" из образцов Google, поиск работы.

Может ли кто-нибудь помочь мне понять, в чем разница, потому что я сам размещаю файл? Я видел сообщения, в которых упоминалось, что если у потока нет длительности, remoteMediaPlayer не может искать в нем. Но это так. Вызов remoteMediaPlayer.getStreamDuration() возвращает фактическую продолжительность мультимедиа.

Кажется, что-то не так в том, как я размещаю файлы...

Вся помощь приветствуется.


person Joakim    schedule 20.10.2014    source источник
comment
Это та же проблема, что и: ? Спасибо   -  person juanpe_f    schedule 31.10.2017


Ответы (2)


Теперь я решил свою проблему. Если у кого-то еще есть эта или подобная проблема, используйте веб-сервер, который поддерживает прогрессивную загрузку http. В конкретном случае с Android это было приложение под названием Boa Web server.

person Joakim    schedule 21.10.2014

Я решил аналогичную проблему с NanoHttpd, решение состояло в том, чтобы добавить этот заголовок ответа

Accept-Ranges: bytes
person komo    schedule 10.10.2019