我尝试使用适用于 iOS 的最新 GoogleCast 框架(2.1.0)为 google Chromecast 视频流应用程序实现锁屏控制。
我已经更正了示例 Chromecast 应用程序 - https://github.com/googlecast/CastVideos-ios 已将 UIBackgroundModes 行添加到 Info.plist 中 添加了 MediaPlayer 框架。并将以下代码添加到 ChromecastDeviceController.m
#import <MediaPlayer/MPNowPlayingInfoCenter.h>
#import <MediaPlayer/MPMediaItem.h>
.......
- (BOOL)loadMedia:(NSURL *)url
thumbnailURL:(NSURL *)thumbnailURL
title:(NSString *)title
subtitle:(NSString *)subtitle
mimeType:(NSString *)mimeType
startTime:(NSTimeInterval)startTime
autoPlay:(BOOL)autoPlay {
.....
[[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];
}
return YES;
}
但我在广播期间在锁定屏幕上看不到任何控件。
从这些来源中,我看到无法在以前版本的 Chromecast iOS SDK (2.0) 的锁定屏幕上显示任何控件,因为它关闭了进入后台模式的套接字。
Google Chromecast SDK TearDown 在后台
https://code.google.com/p/google-cast-sdk/issues/detail?id=138
Cast SDK 2.1.0 还是一样吗?或者我做错了什么,实际上可以在 chromecasting 期间在锁定屏幕上显示控件?谢谢。