ios – AVPlayer音频在比特率峰值后停止

前端之家收集整理的这篇文章主要介绍了ios – AVPlayer音频在比特率峰值后停止前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的iOS应用程序使用AVPlayer解码带有本地设备存储的AAC音轨的H.264视频.具有比特率尖峰的内容导致在播放尖峰之后音频不久(不到一秒)丢失,但视频播放正常继续.通过Safari播放视频似乎工作正常,并且这种行为在几种型号的iPhone上可重复,范围从6s到8 +.

我一直在寻找生成的任何消息,代表调用错误信息或有趣的KVO,但到目前为止还没有任何有用的信息.我可以做些什么来获得某些可以指向正确方向的更详细信息?

解决方法

原来,AVPlayer配置为使用以自定义方式加载数据的方法.这些方法的实现未能完全遵循满足请求的模式. (Apple docs对此很模糊.)AVPlayer的视频部分反复要求更多数据,因此最终所有数据都被拉了.然而,音频部分耐心地等待数据进入,因为既没有报告错误状态也没有提供所有数据 – 假设它正在等待.

因此,简而言之,听起来像视频处理代码中的条款将丢失的数据视为某种形式的停顿并向前滚动,而音频没有该功能.设计并不差 – 如果音频切断它非常明显,它也是迄今为止较小的流,所以它的可能性要小得多.

尽管在发布之前花了相当多的时间来解决问题,但缺乏任何有用的信号使得很难追究问题.我最终推断,如果从流生成输出没有错误,问题必须在于流的传递,并且一旦我开始调整数据加载代码就会出现问题.

原文链接:https://www.f2er.com/iOS/334126.html

猜你在找的iOS相关文章