【问题标题】:How to use iOS 5+ AirPlay for a second screen如何在第二个屏幕上使用 iOS 5+ AirPlay
【发布时间】:2011-11-26 01:16:07
【问题描述】:

我正在使用 iPhone 4S 玩 AirPlay,但遇到了一些问题。我已经将我的 Apple TV 2 更新到了最新版本(我认为是 4.4.3?我忘记了,它在另一个房间,我懒得检查)并且我在使用 Xcode 4.2 Build 4D199 时在我的 4S 上安装了 iOS 5.0 .我编写了一个简单的 UIView 应用程序,它尝试在可用时在第二个屏幕上绘图。这是我的 viewDidLoad 中的内容:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview:[[MPVolumeView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]];
    NSLog(@"Registering for screen connect events...");
    // Do any additional setup after loading the view, typically from a nib.
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(screenDidConnect:)
     name:UIScreenDidConnectNotification
     object:nil];
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(screenDidDisconnect:)
     name:UIScreenDidDisconnectNotification
     object:nil];    NSLog(@"There are %i connected screens.", ScreenCount);
    if (ScreenCount > 1) {
        self.secondWindow = [self myScreenInit:[[UIScreen screens] objectAtIndex:1]];
        [self.secondWindow addSubview:[self createFullscreenViewForText:@"Second window" withSize:CGSizeMake(640, 480)]];
    }
}

当我启用 TV Out 时,此代码在模拟器中有效,但如果我在调试时启用 TV Out,它总是会崩溃。在模拟器的硬件菜单中启用 TV out 后,我​​必须重新启动应用程序。重新启动时,我在第二个屏幕上看到第二个屏幕 UILabel。在 iPhone 4S 上,如果我使用运行任务栏中的 AirPlay 控件一直到左侧启用 AirPlay,我才能完成这项工作。您会注意到,我在启动时向视图添加了一个 MPVolumeView 组件,我尝试使用它来连接我的 Apple TV,但无济于事。

如果我使用应用程序内 MPVolumeView,我可以成功断开与 Apple TV 的连接,但是当我再次使用它并选择 Apple TV 重新连接时,我没有收到 UIScreenDidConnectNotification。我再次看到第二个屏幕的唯一时间是启用镜像。如果我连接任何一个 AirPlay 控件,我只会计算 1 个屏幕并且永远不会收到通知。此外,每次我启用镜像时,我都会在控制台日志中看到:

Could not find mapped image ColorOnGrayShadow_AirPlay.png

这似乎被打破了,我想知道其他人在这方面的经验。当我学习新事物时,我会继续玩弄和更新这篇文章。

【问题讨论】:

  • 我遇到了完全相同的问题,即 MPVolumeView 没有提供另一个屏幕。我在将内容放到第二个显示器上时遇到问题,但事实证明这是因为我没有保留窗口对象。不过,不必使用镜像来完成这项工作会很好。
  • Hey Cliff - 知道如何从另一个屏幕控制一个屏幕吗?我不知道该怎么做。谢谢!
  • 如果您的意思是通过 AirPlay 控制第二个屏幕,那么就是使用 AirPlay 的 API 访问第二个屏幕。一个你有它的参考,然后你可以在上面画或放置任何你想要的东西。

标签: ios5 airplay apple-tv


【解决方案1】:

MPVolumeView 的路由菜单只能控制进入 AppleTV 的音频流。 这是您尝试做的一个工作示例: https://github.com/quellish/AirplayDemo/

“ColorOnGrayShadow_AirPlay.png”日志消息对于 iOS 5 来说是正常的。不幸的是,使用 Airplay 连接的 AppleTV 作为外部显示器需要镜像,您无法从应用程序内部激活它。用户必须遵循以下说明:

http://support.apple.com/kb/TS4085

【讨论】:

  • 谢谢平息。通过反复试验,我学到了同样的东西。事实上,用户必须手动启用镜像才能使一切正常工作还不清楚。希望未来的更新能够解决这个不明确的问题。
  • 如果您在 bugreporter.apple.com 上对文档输入简短的增强请求,他们将能够优先更新文档,以更清楚地说明需要镜像。在这个问题上提出的请求越多越好。
猜你喜欢
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多