AVComposition打破了Airplay

时间:2012-07-24 22:54:04

标签: ios avfoundation airplay avcomposition

我有一个视频合成,我想在Airplay上播放(没有镜像)。当使用普通的Airplay镜像时,该应用程序可以正常工作,但我希望通过使用Airplay视频获得速度,可靠性和分辨率。

问题在于我设置

player.usesAirPlayVideoWhileAirPlayScreenIsActive = YES;

......玩家空白。

注意:

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

两个问题:

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

2 个答案:

答案 0 :(得分:0)

在应用程序.plist中

创建一个名为:

的新项目

required background modes

添加一个名为:

的新数组元素

App plays audio or streams audio/video using AirPlay

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

干杯!

答案 1 :(得分:0)

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

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

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

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

我尝试了许多降低分辨率,降低renderScale等等但没有成功的事情。

有一件事困扰我的是苹果实际上是如何在iMovie中做到这一点的 - 如果您启用了AirPlay并且您在播放按钮后立即播放项目(请注意它仍未呈现,因此必须使用合成才能显示它)它打开了一个在外部显示器上播放内容非常流畅的播放器。但是,如果您从播放器激活AirPlay,它将关闭并开始渲染项目。之后,它通过使用MPMoviePlayerController播放它。

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

所以对于这两个问题:

  1. 我不明白为什么你要摆脱。
  2. 是的,它可以玩,但技术不同,显然有问题。