我想在我的项目中添加一个chromecast回调委托方法(用于成功的chromecast连接),以便在建立连接时,我将继续在chromecast设备中播放视频。
我正在使用最新的chromecast SDK。3.3.0版。
- (void)deviceManagerDidConnect:(GCKDeviceManager *)deviceManager;
此协议方法和委托属性在类中定义,
"GCKDeviceManager"
@property(nonatomic, weak, readwrite, GCK_NULLABLE) id<GCKDeviceManagerDelegate> delegate;
从这个SDK更新中,我们不会在项目中创建或维护GCKDeviceManager对象,SDK会处理它。
所以我无法将视频播放器设置为“GCKDeviceManagerDelegate”的代理。
如何将我们的类设置为“GCKDeviceManager”的委托?
即,如何获取“GCKDeviceManager”类的对象引用?
有没有其他方法可以在连接成功时从chromecast接收器获取回调?
最佳答案
从Google提供的示例项目中找到了实现这一点的方法。
不要使用GCKDeviceManager class's delegate property
使用"GCKSessionManagerListener"
将我们的类作为侦听器添加,
GCKCastContext.sharedInstance().sessionManager.addListener(self)
现在,当cast连接建立时,我得到一个对这个方法的调用,
func sessionManager(sessionManager: GCKSessionManager, didStartSession session: GCKSession)