【发布时间】:2018-04-14 02:57:30
【问题描述】:
我的 iOS 应用使用 AVPlayer 从本地设备存储中解码带有 AAC 音轨的 H.264 视频。具有比特率尖峰的内容会导致音频在播放尖峰后不久(不到一秒)下降,但视频播放继续正常。通过 Safari 播放视频似乎可以正常工作,并且这种行为可以在从 6s 到 8 plus 的多种 iPhone 上重复。
我一直在寻找任何生成的消息、使用错误信息调用的委托或有趣的 KVO,但到目前为止还没有任何有用的信息。我可以做些什么来获得一些可以为我指明正确方向的更详细的信息?
【问题讨论】:
-
手机可以处理的内容是有限制的。你可能只是在打他们……?
-
@matt 有限制,但是视频在其他应用程序中可以正常播放。如果用户观察到他们的视频在其他应用程序中正常播放,但不是我的应用程序,那么看似明显的结论是我的应用程序有问题。此外,这些视频似乎在 Apple 公布的限制范围内。音频应该被切断也很奇怪 - 通常音频处理要轻得多等待,在这种情况下它是恒定比特率(而视频不是恒定比特率)。
-
请确认ios版本好吗?
-
另外,如果您尝试在 AVPlayer 中播放任何其他 hls 流,您会遇到同样的问题吗?
-
你能指定你在什么属性上使用了 KVO 吗?您是否尝试过在 AVPlayerItem 状态上设置 KVO:
playerItem.addObserver(self, forKeyPath: #keyPath(AVPlayerItem.status), options: [.old, .new], context: &playerItemContext)
标签: ios objective-c video avplayer