我正在开发一个使用 GoogleCast 框架的 iOS Obj-C 应用程序。
我正在尝试通过MPNowPlayingInfoCenter
我已向我的应用程序添加了正确的权限以支持后台处理。
我正在初始化投射设备,如下所示:
self.chromeCastDeviceManager = [[GCKDeviceManager alloc] initWithDevice:self.selectedChromeCastDevice clientPackageName:[info objectForKey:@"CFBundleIdentifier"] ignoreAppStateNotifications:YES];
当我在接收器上启动媒体时,我会尝试在MPNowPlayingInfoCenter
获得成功的播放响应时进行初始化。
NSInteger result = [_castControlChannel play];
if (!result) {
//launch has worked
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
if (playingInfoCenter) {
NSDictionary *songInfo = [NSDictionary dictionaryWithObjectsAndKeys:
@"Test artist", MPMediaItemPropertyArtist,
@"Test title", MPMediaItemPropertyTitle,
@"Test Album", MPMediaItemPropertyAlbumTitle,
nil];
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
}
}
我开始相信MPNowPlayingInfoCenter
仅在通过加载媒体会话时提供控件AVKit/ AVFoundation
?我这样说对吗?
如果这是真的,我可能会在 Chromecast 上创建一个AVKit/ AVFoundation
长的 NSInteger 。play method
然后强制 AVPlayer 隐藏和静音。然后我可以捕捉媒体控件并重定向到 Chromecast?
我假设 iOS 上的 Youtube 应用程序是这样做的吗?Netflix 和 Spotify 在投射到 chromecast 时都不支持锁屏控制。