gpt4 book ai didi

video - AVPlayer 第七次重新进入画面后无法显示

转载 作者:行者123 更新时间:2023-12-05 05:23:38 26 4
gpt4 key购买 nike

在我的 IOS 应用程序中使用 AVPlayer 显示短视频的屏幕。我成功离开并重新进入此屏幕几次,但在七次或更多次后,我得到空白屏幕并且 AVPlayerLayer 的 IsReadyForDisplay 属性为“NO”。

当我离开这个屏幕时,我暂停 AVPlayer(并设置为 nil)并从 View 层中删除 AVPlayerLayer。在我看来,这不是内存使用问题(17Mb 使用量)。

我认为问题出在 AVPlayer 缓冲区或可能导致 block 的其他组件 AVPlayer 无法从视频文件中读取,但我没有找到任何方法来清理/或清除此缓冲区/ block 。

有没有人以前遇到过这个问题?或者知道为什么我在第七个入口出现这个黑屏?

提前致谢

以利

最佳答案

根据我的经验,当您的 View 覆盖了变量 layerClass 并且它不会以某种方式从内存中消失并且每次您访问带有视频层的 VC 时,情况只会变得更糟。

不要覆盖您的 VideoView layerClass 属性,而是尝试通过 insertSublayer 手动插入您的视频层。

然后在 viewDidDisappear 中尝试对所有这些调用 removeFromSuperView 并强制它们变为 nil 以确保连接到它们的所有内容都将从内存中清除。

也许这不是最“正确”和完美的方式,但最终对于我来说视觉外观没有任何变化。

我也想知道真正的原因是什么,因为阅读所有 Apple 的文档都没有帮助。

关于video - AVPlayer 第七次重新进入画面后无法显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37256998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com