我正在尝试用Apple TV播放。我发现当我只是在没有镜像的情况下使用avplayer播放视频时,我仍然可以全屏播放。但是,屏幕数量仅为1(适用于iPad) 如果我进行镜像,屏幕数为2(一个是iPad,一个是外部显示器)。我认为没有镜像,屏幕数也应该是两个。我很困惑。我想更多地了解airplay镜像与不镜像之间的区别
screens = [UIScreen screens]; //to count screen
答案 0 :(得分:2)
区别很简单。
镜像将复制屏幕上的所有内容并将其显示在另一个屏幕上。这用于向一群人或类似的东西展示照片库。
如果关闭镜像,则此操作将用作外部显示器。这用于像Real Racing 3这样的游戏,您可以在电视或其他东西上玩游戏,并使用iPhone(iPad)作为游戏的控制器。电视和iPhone的屏幕上会有不同的东西。
答案 1 :(得分:2)
感觉像是在鸣叫,因为Fogmeister的答案并不那么准确。
您可以轻松使用镜像并在Apple-TV屏幕上显示不同的内容。据我所知,目前任何Apple的公共API都支持 only 方式。其他地方已详细解决了here的问题。
想法是劫持外部窗口,然后给它一个你控制的viewController(和其他任何一样):
if([[UIScreen screens] count] > 1){
UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1];
_secondWindow = [[UIWindow alloc] initWithFrame:secondScreen.bounds];
self.secondWindow.screen = secondScreen;
_externalViewController = [[YourExternalViewControllerClass alloc] init];
self.secondWindow.rootViewController = self.externalViewController;
self.secondWindow.hidden = NO;
}
在上面的示例中,_secondWindow
和_externalViewController
实例是viewController的属性,用于设置设备视图。