我遇到了一个奇怪的问题,我希望有人可以提供帮助.
在我的iOS应用程序中,我MutableComposition通过组合用户照片库中的视频和应用程序包中的音频文件来创建带有自定义音轨的视频.然后,我使用一个AVPlayer并AVPlayerItem使用我制作的自定义视频播放器将视频播放回用户.
每次创建新的合成时,资产,播放器和合成都会被清除,释放,并且它基本上从干净的初始状态开始.
一切正常,直到完成4个成功的视频创建后,每次创建播放器的其他尝试都会失败并出现错误Cannot Decode.如果我正在重新创建的视频相同,与视频的大小/长度无关,或者音频文件与第五次尝试完全失败,就像发条一样无关紧要.一旦失败,它将永远失败!
这很奇怪,因为它只是对同一个视频进行了四次解码而没有任何问题,所以突然间它失败了?所以,如果有人有线索,请告诉我.
我正在开发一个视频库,我有一个 ScrollView,里面有多个视图,每个视图都有一个 AVPlayer - 到目前为止,我想这是非常标准的。请注意,所有 AVPlayer 都预先加载了他们的视频,等待播放。
当我在图库中有很多项目(视频)时会出现问题。在任何给定时间 - 从头到尾只显示其中的 16 个,其余显示黑屏。如果我颠倒项目的顺序 - 显示新侧的其他 16 个,其余的也显示黑屏。
此外,如果我转到另一个屏幕,然后又回到画廊 - 一切都变黑了,没有任何显示。
如果我为每个视图用随机颜色背景替换播放器 - 将显示所有视图。所以我认为问题在于玩家而不是观点本身。
根据 Xcode,我的应用程序仅使用 ~7-10% CPU 和 ~10-11 MB 的 RAM,因此它看起来不像是性能问题 - 更像是并发活动 AVPlayer 的限制,但我找不到任何相关信息.
有没有人有什么建议?这真让我抓狂。
提前致谢!