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

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

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

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

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

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

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

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

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

1 ответ

Решение

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

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

Accept-Ranges: bytes
Другие вопросы по тегам