我想用 AVPlayer
显示 .m3u8
内容 .
它适用于视频长度<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 ,NSLocalizedFailureReason =发生未知错误(-12643) ),NSLocalizedDescription =操作无法完成})
AVFoundationErrorDomain Code=-11800
是Unknown Error .
基本错误是 NSOSStatusErrorDomain Code=-12643
.
我找不到 -12643
错误的任何描述 .
有任何想法吗?