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

ios – AVPlayer音频在比特率峰值后停止,第1张

概述我的iOS应用程序使用AVPlayer解码带有本地设备存储的AAC音轨的H.264视频.具有比特率尖峰的内容导致在播放尖峰之后音频不久(不到一秒)丢失,但视频播放正常继续.通过Safari播放视频似乎工作正常,并且这种行为在几种型号的iPhone上可重复,范围从6s到8 +. 我一直在寻找生成的任何消息,代表调用错误信息或有趣的KVO,但到目前为止还没有任何有用的信息.我可以做些什么来获得某些可以 我的iOS应用程序使用AVPlayer解码带有本地设备存储的AAC音轨的H.264视频.具有比特率尖峰的内容导致在播放尖峰之后音频不久(不到一秒)丢失,但视频播放正常继续.通过Safari播放视频似乎工作正常,并且这种行为在几种型号的iPhone上可重复,范围从6s到8 +.

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

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

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

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

总结

以上是内存溢出为你收集整理的ios – AVPlayer音频在比特率峰值停止全部内容,希望文章能够帮你解决ios – AVPlayer音频在比特率峰值后停止所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1104429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存