MediaRouterProvider не виден в сети

Я создал SampleMediaRouteProvider как указано в https://github.com/googlesamples/android-MediaRouter. В этом примере также есть MediaRouter это обнаруживает все MediaRouteProviders в сети. это SampleMediaRouteProvider отображается на том же устройстве другими приложениями, но не видна приложениям на другом устройстве в той же сети.

Можете ли вы помочь мне получить MediaRouteProvider видно в сети Wi-Fi. Я хочу создать MediaRenderer на устройстве Android, которое я мог использовать для трансляции звука с других устройств Android.

1 ответ

MediaRouteProvider на самом деле не делает то, что вы просите.

MediaRouteProvider, который вы написали, играет роль, позволяющую приложениям на вашем телефоне - устройстве A - находить другие устройства в сети (устройство B или C). Устройства B и C могут воспроизводить мультимедиа, имеющееся на устройстве A. Устройство A может передавать / воспроизводить напрямую (скажем, на устройство B) или транслировать (скажем, на устройство C).

При зеркалировании вы отправляете аудиоконтент с устройства A на устройство B. При трансляции вы отправляете только URL-адрес на устройство C, например, ссылку на видео на youtube.com. И устройство C идет прямо к источнику, чтобы получить контент.

Я думаю, что вам нужно будет:

  • Разместите свой MediaRouteProvider на каждом устройстве.
  • Реализовать механизм обнаружения
    • например, на основе использования SSDP, mDNS и т. д.
    • имейте свое посредственное открытие
  • Внедрить веб-сервер на устройстве с контентом
    • или использовать что-то вроде nanohttpd
  • Теперь напишите свой MediaRenderer
Другие вопросы по тегам