我想自动启动chromecast路由,而不是在用户按下按钮时。有谁知道我怎么能以任何方式模拟用户按下媒体路线按钮?我查看了不同的课程,但没有找到任何内容。
我知道Google不打算让开发人员使用它,而我的应用程序只是作为概念证明。
如果有人知道另一种方法来实现同样的事情(当应用程序启动时,如果用户在选项菜单中启用了它,则会开始投射) - 请告诉我!
答案 0 :(得分:0)
您可以像往常一样执行相同的步骤(获取MediaRouter实例,设置选择器,注册回调等),但是您需要在应用程序中保留已发现路由的列表(因为它们是由MediaRouter发现的) ;你将通过onRouteAdded(())收到一个回电。你也需要进行簿记(通过onRouteRemoved()回调)。既然你有一个路由列表,你可以通过编程方式决定哪一个是你想要的那个使用和再次像往常一样(当你通过onRouteSelected()获得回调时会做同样的事情)除了你需要自己调用MediaRouter.selectRoute(your_selected_route)告诉框架它。第一部分,你可以看看这个sample。
答案 1 :(得分:0)
所以我发现我在节目开始时无法检查路线,因为MediaRouter还没有发现它们。 (即,对getRoutes的调用仅返回默认路由...)在我的程序中,启动一个休眠三秒钟然后调用选择任何可用路径的线程就足够了:
if(mMediaRouter.getRoutes().size() >= 1) {
mMediaRouter.selectRoute(mMediaRouter.getRoutes().get(1));
}
如果我需要一个更持久的解决方案,我就像Ali Naddaf建议的那样。