SwiftのAVPlayerでFailedになる理由
SwiftのAVPlayerでネットワークからの動画再生を試しています。mp4ファイルをストリーミング再生を試みています。
PlayerのStatusを監視するためにKVOをセットします。
self.playerItem.addObserver(self, forKeyPath: "status", options: .New | .Initial, context: nil)
override func observeValueForKeyPath(keyPath: String,
ofObject object: AnyObject,
change: [NSObject : AnyObject],
context: UnsafeMutablePointer<Void>) {}
でステータス変化時にこのfunctionで受けます。
statusが.ReadyToPlayのときには、play()で再生できますが、.Failedになるときがあります。
しかし、同じファイルを再生していますが、.ReadyToPlayになるときもあれば、.Failedになるときもあります。
はっきりしていませんが、ネットワークのスピードは早く出ているのですが、サーバのハードディスクが動きだした最初のアクセスが.Failedになるような気がします。(何度かやっていてそのような気がしてます)
どのようなときが.Failedになるのでしょうか?また.Failedになってもplay()すると再生ができる可能性はあるのでしょうか?
ご存知であればご教示お願いします。