AVPlayer status一旦是AVPlayerItemStatusFailed,那么就会一直失败 - 在收到AVPlayerItemStatusFailed状态后如何完全清除AVPlayer?

5
我有两个视图控制器,第一个包含视频信息列表的表格,然后从列表中选择一个项目,通过导航打开详细视图控制器。我在这个详细控制器中使用了AVPlayer。有时AVPlayer会出现AVPlayerItemStatusFailed错误,并且在失败发生后,avplayer会继续失败并出现AVPlayerItemStatusFailed。虽然我尝试清除avplayer实例并创建新的实例,但我无法解决AVPlayerItemStatusFailed错误。同时,从导航弹出详细视图控制器并通过从列表中选择新项目来初始化新项目也无法解决问题。
所以我想出了AVPlayer不能完全清除的办法,即使所有者视图控制器已从导航堆栈中删除。有人建议尝试清除AVPlayer并在故障后重新启动它吗?
提前致谢...

AVPlayerLayer的问题,请查看我的主题:https://dev59.com/Z2Ag5IYBdhLWcg3wOotQ - instback
1个回答

0

清除 AVPlayer 是什么意思?

您尝试过重新创建 AVPlayerItem 吗?如果在重新创建 AVPlayerItem 后您的 AVPlayer 仍然无法正常工作,那么您可能需要重新创建 AVPlayer。某些 AVFoundation 错误会导致 AVPlayer 无法使用。


我的意思是重置播放器以消除故障(AVPlayerItemStatusFailed)。是的,我尝试重新创建AVPlayer和AVPlayerItem。我还搜索了错误,但没有找到解决方案。收到的错误:Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x1a689360 {NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x1a688e70 "The operation couldn’t be completed. (OSStatus error -12983.)", NSLocalizedFailureReason=An unknown error occurred (-12983)}。 - crazywood
你能详细说明你想播放的媒体类型吗?当AVPlayer无法播放文件时,通常会出现该错误。 - dzl
我正在播放.mp4文件。但是我在不同的视频文件中遇到了相同的问题。当问题发生时,我还检查了视频文件是否损坏。因此,视频文件不应该是问题的原因 ;( - crazywood
我遇到了同样的问题。你解决了 AVFoundationErrorDomain Code=-11800 和 An unknown error occurred (-12983) 吗?我检查了我的视频文件。它们在 MAC 上可以正确播放。 - Nitin
1
还要确保您没有保留任何AVPlayer、AVPlayerLayer或AVPlayerItem对象。在我的情况下,我使用[player addPeriodicTimeObserverForInterval:]获取周期性间隔,它保留了AVPlayer。相反,我使用了一个NSTimer,并在需要时使其失效。 - Qamar Suleiman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接