gpt4 book ai didi

ios - AV播放器 "Cannot Complete Action"

转载 作者:可可西里 更新时间:2023-11-01 02:59:52 32 4
gpt4 key购买 nike

我在播放了几个视频后出现了这个错误:

Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo=0x1d83a7f0 {NSLocalizedRecoverySuggestion=Try again later., NSLocalizedDescription=Cannot Complete Action}

我的播放函数是这样的:

- (void)playItem:(AVPlayerItem*)item
playerView:(PlayerView*)playerView
doReset:(BOOL)reset
{
// if it's different item or we want to reset then replace item and rewind player to zero
if([player currentItem] != item || reset)
{
[player pause];
[player replaceCurrentItemWithPlayerItem:item];
[player seekToTime:kCMTimeZero];
}

// set the view's player
[playerView setPlayer:player];

[player play];

播放器仅在尝试了数百次后才停止工作。我有 5 个 PlayerView,即 5 个视频,触摸时将播放。要达到出现此错误的程度(仅通过查看 AVPlayer 实例错误属性),我必须多次触摸这些按钮(就像之前提到的那样,它从几百到几千次)。我尝试了各种方法来解决这个问题,但没有成功。我知道如果我添加此行 [playerView setVideoFillMode:AVLayerVideoGravityResizeAspectFill] 将使此错误提前出现(超过 200 次)。我没有尝试过的是使用单个 PlayerView,每个按钮都会重复使用,但将来我将不得不同时播放多个视频,我认为它会在一段时间后出现这个问题。谷歌搜索这个错误或枯萎搜索 StackOverflow 到目前为止没有给我带来任何解决方案。

有人遇到过这类问题吗?它发生在带有 ARC 的 iOS5 或 iOS6(不针对以下 5)中。

提前致谢

最佳答案

我没有准备好尝试你的代码,但你是否尝试过将 replaceCurrentItemWithPlayerItem: 包装在 @autoreleasepool 中以强制 ARC 进行一些清理?

或者,您是否通过工具检查了分配?

根据您的描述,这听起来很像泄漏。您可能已经在 AVPlayer 中发现了一个错误(我怀疑它是否得到了您给它的那种练习!),如果是这样,您绝对应该 file a bug with Apple ,但您可能可以采取一些措施来变通。

您是否有理由继续重复使用同一个播放器?您是否尝试过放弃旧播放器并创建一个新播放器,而不是 replaceCurrentItemWithPlayerItem:

让我们知道 Instruments-Allocations 显示了什么。我敢打赌这是查明真相的关键。

关于ios - AV播放器 "Cannot Complete Action",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14819612/

32 4 0