【问题标题】:Difference between airplay mirroring vs without mirroring播放镜像与不镜像之间的区别
【发布时间】:2014-01-14 07:48:46
【问题描述】:

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

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

【问题讨论】:

    标签: ios ipad airplay apple-tv


    【解决方案1】:

    区别很简单。

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

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

    【讨论】:

    • 你能解释一下屏幕计数吗?另外,当我做镜像时,我还可以用自定义 uiview 替换我显示器上的 uiview,以便 iPad 和外接显示器有不同的视图。我不太明白。
    • 镜像就是它听起来的样子。每个屏幕都是一样的。就像一面镜子显示相同的东西。如果您希望在每个屏幕上都不同,请不要使用镜像。
    【解决方案2】:

    Fogmeister 的回答并不是那么准确,因此感觉像是插话。

    您可以轻松使用镜像并在 Apple-TV 屏幕上显示不同的内容。据我所知,这是目前 Apple 的任何公共 API 都支持的唯一方式。解决方案已在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 的属性。

    【讨论】:

      猜你喜欢
      • 2022-11-09
      • 2015-05-19
      • 2019-10-15
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多