AVComposition 在 Airplay 上中断
Posted
技术标签:
【中文标题】AVComposition 在 Airplay 上中断【英文标题】:AVComposition breaks on Airplay 【发布时间】:2012-07-24 22:54:03 【问题描述】:我有一个视频作品,我想通过 Airplay 播放(不进行镜像)。该应用程序在使用普通 Airplay 镜像时可以正常工作,但我希望获得使用 Airplay 视频所获得的速度、可靠性和分辨率提升。
问题是当我设置
player.usesAirPlayVideoWhileAirPlayScreenIsActive = YES;
...玩家进入空白状态。
注意事项:
由于我没有为每个显示器创建单独的窗口,它们都试图使用相同的 AVPlayer。 我的 AVVideoComposition 包含不同的文件,并在它们之间添加了不透明度渐变。 这个未回答的问题表明问题更可能是由于我正在播放 AVComposition 而不是使用共享播放器这一事实:AVComposition doesn't play via Airplay Video两个问题:
-
iPad 上的播放器必须卸载吗?
可以通过 AirPlay 播放 AVVideoComposition 吗?
【问题讨论】:
你有什么运气吗?我也有类似的问题 任何信息?在您提出问题多年后,我自己也遇到了这个问题,但问题仍然存在。 不幸的是,我们当时决定放弃该功能并继续前进,所以恐怕我无法对此有所了解。 【参考方案1】:我无法制作 cmets,因此我不得不将其发布为答案,尽管它可能无法完全回答问题。
我遇到了类似的问题,最后我发现当AVPlayer
播放AVComposition
时,它根本不会在外部显示器上显示任何内容。这就是为什么我必须自己通过收听UIScreen
连接通知来完成。
我不得不说一切都非常完美。我首先检查是否有多个屏幕,如果有,我只需在该屏幕上移动AVPlayer
,同时在设备屏幕上显示一条简单消息,说明正在播放内容......加上 AirPlay 设备的名称。这样我就可以在外接显示器上放任何我想要的东西,而且不是很复杂。当我收到UIScreenDidConnectNotification
时也是如此。
这很好,直到我注意到外接显示器上的构图非常不稳定。即使它只包含一个视频,没有任何复杂的编辑或叠加。如果我将相同的视频保存到相机胶卷或使用MPMoviePlayerController
,则可以完美播放。
我尝试了很多方法,例如降低分辨率、降低renderScale
等等,但都没有成功。
让我更困扰的是苹果实际上是如何在 iMovie 中做到这一点的——如果你启用了 AirPlay 并且你在点击播放按钮后播放了一个项目(注意它仍然没有渲染,所以它必须使用合成才能显示它)它会打开一个播放器,在外接显示器上播放内容非常流畅。但是,如果您从播放器激活 AirPlay,它会关闭并开始渲染项目。之后,它使用 MPMoviePlayerController 播放它。
我仍在努力寻找解决方案,如果我成功了,我会回复。
所以对于这两个问题:
-
我不明白你为什么要摆脱。
是的,它可以播放,但使用不同的技术和明显的问题。
【讨论】:
【参考方案2】:在应用程序 .plist 中创建一个名为:
required background modes
添加一个新的数组元素,名为:
App plays audio or streams audio/video using AirPlay
不确定您是否已经尝试过,但您没有在帖子中提及。
干杯!
【讨论】:
以上是关于AVComposition 在 Airplay 上中断的主要内容,如果未能解决你的问题,请参考以下文章
AVPlayerItemVideoOutput 文件不能在 AVComposition IOS7 中使用