我正在尝试使用.m3u8
显示AVPlayer
内容。
当视频长度<5分钟时,它可以正常工作。
当视频长约1小时时,它会导致KVO
观察者出错。
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String: AnyObject]?, context: UnsafeMutablePointer<Void>)
{
guard context == &playerViewControllerKVOContext else
{
super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
return
}
if keyPath == "player.currentItem.status"
{
var newStatus = AVPlayerItemStatus.Unknown
if let newStatusAsNumber = change?[NSKeyValueChangeNewKey] as? NSNumber
{
newStatus = AVPlayerItemStatus(rawValue: newStatusAsNumber.integerValue)!
}
if newStatus == .Failed
{
// We are here when video is ≈1 hour long.
print("\(avplayer.currentItem?.error)") // avplayer is an instance of AVPlayer
}
}
}
我收到以下错误文字:
可选(错误域= AVFoundationErrorDomain代码= -11800“ 操作无法完成“ UserInfo = {NSUnderlyingError = 0x60000065f980 {错误 Domain = NSOSStatusErrorDomain Code = -12643“(null)”}, NSLocalizedFailureReason =发生未知错误(-12643), NSLocalizedDescription =无法完成操作})
AVFoundationErrorDomain Code=-11800
是Unknown Error。
基本错误为NSOSStatusErrorDomain Code=-12643
。
我找不到-12643
错误的任何描述。
有什么想法吗?