1

我正在尝试使用 Apple TV 进行播放。我发现当我只用avplayer播放视频而不镜像时,我仍然可以全屏播放。但是,屏幕数仅为 1(适用于 iPad)。
如果我做镜像,屏幕数是 2(一个是 iPad,一个是外接显示器)。我认为没有镜像,屏幕数也应该是两个。我对此感到困惑。我想了解更多关于airplay镜像与不镜像之间的区别

screens = [UIScreen screens]; //to count screen

在此处输入图像描述

4

2 回答 2

2

区别很简单。

镜像将复制屏幕上的所有内容并将其显示在另一个屏幕上。这用于向一群人展示照片库或类似的事情。

如果镜像关闭,那么它将充当外部显示器。这用于 Real Racing 3 等游戏,您可以在电视或其他设备上玩游戏,并将您的 iPhone (iPad) 用作游戏的控制器。电视和 iPhone 的屏幕上会有不同的东西。

于 2014-01-14T07:59:10.137 回答
2

Fogmeister 的回答并不那么准确,感觉就像插话一样。

您可以轻松使用镜像并在 Apple-TV 屏幕上显示不同的内容。据我所知,这是目前 Apple 的任何公共 API 都支持的唯一方式。此处已在其他地方详细介绍了解决方案。

这个想法是劫持外部窗口,然后给它一个你控制的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 的属性。

于 2014-04-03T08:34:18.377 回答