ala*_*ula 9 avfoundation ios avplayer ios5
我在播放几个视频后收到此错误:
Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo=0x1d83a7f0 {NSLocalizedRecoverySuggestion=Try again later., NSLocalizedDescription=Cannot Complete Action}
Run Code Online (Sandbox Code Playgroud)
我的播放功能如下:
- (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];
Run Code Online (Sandbox Code Playgroud)
玩家只有在几百次尝试后才停止工作.我有5个PlayerView是5个视频,当被触摸时将播放.为了达到我得到这个错误的点(仅通过查看AVPlayer实例错误属性),我必须触摸这些按钮次数(就像之前提到的几百到几千次).我已经尝试过各种各样的东西来解决这个问题,但没有成功.我知道,如果我添加这一行[playerView setVideoFillMode:AVLayerVideoGravityResizeAspectFill]将使这个错误提前到来(bebore 200次).我没有尝试的是使用单个PlayerView将重复使用每个按钮,但我将来必须同时播放多个视频,我认为它会在一段时间后出现这个问题.谷歌搜索此错误或搜索StackOverflow到目前为止没有给我带来任何解决方案.
有没有人遇到过这些问题?它发生在使用ARC的iOS5或iOS6(不是针对下面的5)中.
提前致谢
我没有准备好尝试您的代码,但是您是否尝试过replaceCurrentItemWithPlayerItem:强制@autoreleasepoolARC 进行一些清理?
或者,您是否通过仪器检查过分配情况?
从你的描述来看,这很像是泄漏。您可能发现了一个错误AVPlayer(我怀疑它是否得到了您所给予的那种练习!),如果是这样,您绝对应该向 Apple 提交错误,但您可能可以采取一些措施来解决。
您想继续重复使用同一个播放器有什么原因吗?您是否尝试过抛弃旧的播放器并创建一个新的播放器,而不是replaceCurrentItemWithPlayerItem:?
让我们知道工具分配显示了什么。我敢打赌这是查清真相的关键。
| 归档时间: |
|
| 查看次数: |
2313 次 |
| 最近记录: |