首页 文章

允许同时创建多少个AVPlayers?

提问于
浏览
6

我有一个 collectionView ,每个 cell 都有 AVPlayer 设置为播放 . 所以每个小区都在播放视频 . iOS似乎只允许您同时播放16个视频 . 例如,请查看下面的示例应用 . 在50个 cells 中,只有16个开始播放视频 . 这个数字总是保持不变 . 这种情况发生在运行iOS 10的iPhone 6上 . 在Xcode模拟器中,所有50个视频都开始播放 . 此问题仅发生在实际设备上 .

enter image description here

另外,当我打印出来时,我得到了这两个错误:

print("Video player Status Failed: player item error =  (self.player.currentItem.error)")
print("Video player Status Failed: player error = \(self.player.error)")

2016-11-07 15:53:46.548288 SampleApp [1810:515089]视频播放器状态失败:播放器项错误=错误域= AVFoundationErrorDomain代码= -11839“无法解码”UserInfo = {NSUnderlyingError = 0x1704414d0 {错误域= NSOSStatusErrorDomain代码= -12913“(null)”},NSLocalizedFailureReason =此媒体所需的解码器正忙 . ,NSLocalizedRecoverySuggestion =停止解码媒体的任何其他操作,然后重试 . ,NSLocalizedDescription =无法解码} 2016-11-07 15:53:46.548358 SampleApp [1810:515089]视频播放器状态失败:播放器错误=(null)

您可以拥有多少 AVPlayer 或我做错了什么?

谢谢!

1 回答

  • 3

    实际上,它是您可以同时保持活动的AVPlayer实例数量的上限,但此限制取决于运行代码的平台 . 我自己发现在运行iOS 8的iPhone 5s上,有4个并发AVPlayer实例的限制 . 例如,Here,用户报告tvOS的限制为7,2012年报告的限制为4 in stack overflow .

    在任何情况下,这个限制没有正式记录意味着它可以在平台和操作系统版本之间来回切换,因此除了保持并发AVPlayer实例尽可能低之外,您不应该将此代码基于此 .

相关问题