我想观察和控制由另一个应用程序启动的 Chromecast 会话。
但是,当使用
MediaRouter
连接时,我无法在不中断会话的情况下加入正在进行的会话。一旦我选择了一条路线,我的应用程序就会取代之前的路线。
如何使用 Android SDK 监控 Chromecast 会话(并且能够播放、暂停、查看进度等),而不替换当前正在播放的接收器应用程序?
您可以使用 RemotePlaybackClient
控制远程播放路径
当您选择远程播放路线时,您的应用程序将充当遥控器 控制。路线另一端的设备处理所有内容 数据检索、解码和回放功能。您的控件 应用程序的 UI 使用以下方式与接收器设备进行通信 RemotePlaybackClient 对象。
远程播放客户端
使用遥控器在远程路由上播放媒体的帮助程序类 MediaControlIntent 定义的播放协议。
客户端维护会话状态并提供简化的界面 用于向单个路由发出远程播放媒体控制意图。
您可以使用
RemotePlaybackClient(Context context, MediaRouter.RouteInfo route)
创建它
您可以通过调用
MediaRouter.Route
来检查route.supportsControlCategory
是否支持远程请求
如果您的应用程序不支持此功能,您可以尝试通过CastSession进行管理。这样您的应用程序将通过 chromeecast 与其他应用程序进行通信。使用
CastSession.getRemoteMediaClient()
,您会得到 RemoteMediaClient
。
您能解释一下您是如何解决这个问题的吗?我遇到了同样的问题,即中断现有会话。