2014-11-06 2 views
1

Я хочу начать маршрутизацию с хромированием автоматически, а не когда пользователь нажимает кнопку. Кто-нибудь знает, как я могу имитировать каким-либо образом, что пользователь нажал кнопку канала мультимедиа? Я просмотрел разные классы и ничего не нашел.Запрограммировать медиа-маршрут Chromecast

Я знаю, что Google не намерен использовать его разработчиками, и мое приложение работает только как доказательство концепции.

Если кто-то знает другой способ добиться того же самого (кастинг начинается, когда приложение запускается, если пользователь включил его в меню опций) - дайте мне знать!

ответ

0

Так что я обнаруживаю что я не мог выполнить проверку маршрутов в начале программы, потому что MediaRouter еще не обнаружил их. (Т.е. вызова getRoutes вернулся только маршрут по умолчанию ...) В моей программе, было достаточно, чтобы запустить поток, который спит в течение трех секунд, а затем вызывает выбирает любой доступный маршрут:

if(mMediaRouter.getRoutes().size() >= 1) { 
    mMediaRouter.selectRoute(mMediaRouter.getRoutes().get(1)); 
} 

Если мне нужно было более настойчивое решение, я бы сделал, как предложил Али Наддаф.

+0

Маршрут по умолчанию будет первым в списке маршрутов. Поэтому вам нужно заменить 'get (1)' на 'get (0)'. – Price

0

Вы можете выполнить те же действия, что и в обычном режиме (получить экземпляр MediaRouter, установить селектор, зарегистрировать обратный вызов и т. Д.), Но тогда вам нужно сохранить список обнаруженных маршрутов в своем приложении (поскольку они обнаружены MediaRouter, вы получите обратный вызов через onRouteAdded (()). Вам также нужно выполнить учетную запись (через обратный вызов onRouteRemoved()). Теперь, когда у вас есть список маршрутов, вы можете программным образом решить, какой из них - тот, который вы хотите использовать и снова делать как обычно (то же самое, что вы делали бы, когда вы получаете обратный вызов через onRouteSelected()), за исключением того, что вам нужно самому вызвать MediaRouter.selectRoute (your_selected_route), чтобы рассказать об этом. В первую очередь, вы можете взглянуть на это sample.

+0

Вам не нужно делать всю учетную запись, если вы используете 'MediaRouter.getRoutes'. – 0xcaff

Смежные вопросы