我对这个问题进行了很多调查,但我发现的所有问题都已经过时了。
this article is from 2012 and says that it's not possible
基本上我希望能够通过airplay将我的iphone镜像到我的应用程序内的另一个屏幕,我想知道现在是否可能。我发现的文章都说不可能,或者如果完成,应用程序商店就不会接受该应用程序。
答案 0 :(得分:5)
从iOS 11开始,可以实现自己的AirPlay选择器视图。请检查AVRoutePickerView。它允许您控制应用程序内不同AppleTV /外部屏幕的连接。见例:
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
AVRoutePickerView *routePickerView = [[AVRoutePickerView alloc] initWithFrame:CGRectMake(0.0f, 30.0f, 30.0f, 30.0f)];
routePickerView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:routePickerView];
AVAsset *asset = [AVAsset assetWithURL:[NSURL URLWithString:@"https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8"]];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:asset];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
[playerLayer setFrame:CGRectMake(0.0f, 40.0f, self.view.frame.size.width, self.view.frame.size.height - 40.0f)];
[self.view.layer addSublayer:playerLayer];
[player seekToTime:kCMTimeZero];
[player play];
}
@end
通过按AVRoutePickerView,您将获得以下内容:
按下可用的外部屏幕,您将能够播放其中的内容。
答案 1 :(得分:2)
它仍然不可能。没有用于启用AirPlay的公共API(以及未提交的私人API)。它是一个无法从应用程序操作的系统级功能。
用户必须启动AirPlay,但您只需显示一条消息,建议用户启用AirPlay以增强应用。