Расширить поведение MediaRouteButton

Я создаю приложение, которое может работать как с устройствами Chromecast, так и с AppleTV. Обнаружение этих устройств работает: ChromeCasts обнаруживаются с помощью MediaRouter и AppleTV обнаружены с использованием SSDP. На данный момент у меня есть обычная кнопка, которая отображает объединенный список обнаруженных устройств, но я бы хотел, чтобы она использовала кнопку причудливого приведения.

Есть ли элегантный способ продлить MediaRouteButton чтобы показать мой собственный список обнаруженных устройств, или я должен просто создать свою собственную кнопку с нуля с использованием литых рисованных объектов?

Я знаю что MediaRouteButton класс может быть расширен, но я не уверен, как применить мою расширенную кнопку к кнопке, объявленной через xml. Я чувствую, что упускаю что-то до боли очевидное, но пока не нашел.

1 ответ

Решение

Вы должны быть в состоянии сделать это с помощью API MediaRouteProvider. В Cast SDK добавлен поставщик Cast Media Route Provider, и вы можете создать своего собственного поставщика для любых типов устройств, которые вас интересуют (есть пример Android, который демонстрирует это, но я не уверен, насколько он был обновлен) сохранился). Если вы хотите использовать CastSDK (v3) для обработки соединения и установления сеансов с обоими типами устройств (те, которые обнаружены самим Cast SDK, и те, которые вы обнаружите у своего собственного провайдера), вам следует использовать SessionProvider Cast SDK. Есть сообщения (такие как эта), которые спрашивают о расширении Session и SessionProviders в Cast SDK v3.

Другие вопросы по тегам