5

我有一个视频作品,我想通过 Airplay 播放(没有镜像)。该应用程序在使用普通 Airplay 镜像时按预期工作,但我希望获得使用 Airplay 视频所获得的速度、可靠性和分辨率提升。

问题是当我设置

player.usesAirPlayVideoWhileAirPlayScreenIsActive = YES;

...播放器一片空白。

笔记:

  • 由于我没有为每个显示器创建单独的窗口,因此它们都试图使用相同的 AVPlayer。
  • 我的 AVVideoComposition 包含不同的文件并在它们之间添加不透明度渐变。
  • 这个未回答的问题表明问题更可能是由于我正在播放 AVComposition 而不是使用共享播放器:AVComposition does not play via Airplay Video

两个问题:

  1. 我必须摆脱 iPad 上的播放器吗?
  2. 可以通过 AirPlay 播放 AVVideoComposition 吗?
4

2 回答 2

0

在应用程序 .plist 中创建一个名为:

required background modes

添加一个名为的新数组元素:

App plays audio or streams audio/video using AirPlay

不确定您是否已经尝试过,但您没有在帖子中提及。

干杯!

于 2014-05-15T12:10:27.303 回答
0

我无法发表评论,因此我不得不将其发布为答案,尽管它可能无法完全回答问题。

我有类似的问题,最后我发现AVPlayer播放时AVComposition它根本不会在外部显示器上显示任何内容。这就是为什么我必须自己通过收听UIScreen连接通知来做到这一点。

我不得不说一切都非常完美。我首先检查是否有多个屏幕,如果有,我只需在该屏幕上移动该AVPlayer屏幕,同时在设备屏幕上显示一条简单消息,说明正在播放内容......加上 AirPlay 设备的名称。这样我就可以在外接显示器上放任何我想要的东西,而且不是很复杂。同样的事情是当我收到UIScreenDidConnectNotification

这很好,直到我注意到构图在外部显示器上播放得非常不稳定。即使它只包含一个视频,没有任何复杂的编辑或叠加。如果我将相同的视频保存到相机胶卷或使用MPMoviePlayerController.

我尝试了很多方法,例如降低分辨率,降低renderScale等等,但没有成功。

更困扰我的一件事是苹果实际上是如何在 iMovie 中做到这一点的——如果你启用了 AirPlay 并且你播放了一个项目(注意它仍然没有渲染,所以它必须使用合成才能显示它)在点击播放按钮后它会打开一个在外接显示器上播放内容非常流畅的播放器。但是,如果您从播放器激活 AirPlay,它会关闭并开始渲染项目。之后,它使用 MPMoviePlayerController 播放它。

我仍在努力寻找解决方案,如果我有任何成功,我会回复。

所以对于这两个问题:

  1. 我不明白你为什么要摆脱。
  2. 是的,它可以播放,但使用不同的技术和明显的问题。
于 2014-08-01T11:20:33.083 回答