Опитах се да внедря контроли за заключен екран за приложението за поточно видео на google Chromecast с най-новата рамка на GoogleCast за iOS (2.1.0).
Коригирах примерното приложение 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), защото затваря сокетите, преминавайки във фонов режим.
ChromeCast поддържа фоново възпроизвеждане на видео в iOS
Google Chromecast SDK TearDown във фонов режим
https://code.google.com/p/google-cast-sdk/issues/detail?id=138
Все още ли е същото за Cast SDK 2.1.0? Или правя нещо нередно и всъщност е възможно да се показват контроли на заключения екран по време на chromecasting? Благодаря.