我正在尝试使用RemotePlaybackClient恢复由同一Android应用创建的Chromecast会话。我可以使用此RPC与完整的Cast SDK在Chromecast设备上播放,暂停,恢复,搜索和停止播放。我目前的测试是关闭Android应用程序并使用会话中的sessionId尝试重新加载应用程序并恢复播放控制。关闭Android应用程序后,我们不会终止播放或会话,它会继续。
以下是我正在使用的代码:
// attempt resume
mRemotePlaybackClient = new RemotePlaybackClient(getApplicationContext(), ccRoute);
// ccRoute is the selected ChromeCast RouteInfo device - same as previous
System.out.println(mRemotePlaybackClient.isSessionManagementSupported()); // true
System.out.println(mRemotePlaybackClient.hasSession()); // false
mRemotePlaybackClient.setSessionId(saved_sessionId); // saved_sessionId is the sessionId saved from the mRemotePlaybackClient.play command in success reply.
System.out.println(mRemotePlaybackClient.hasSession()); // true
mRemotePlaybackClient.startSession(null, ccStart); // callback returns error 0
mRemotePlaybackClient.setStatusCallback(ccSessionStatus); // callback returns error 0
我问其他一些熟悉RemotePlaybackClient和Chromecast的人,包括谷歌内部的人,但没有得到答案。此外,我似乎看到@Commonsware看到的一些相同的问题,一些回调根本没有回复。此外,对于图像,不返回元数据,状态回调返回错误,而视频返回ok(位置信息等)。
真的,我现在只想恢复会话,而不必连接完整的Cast SDK。