現在、AVPlayer を使用してカスタム ビデオ プレーヤーを作成しています。ビデオは正常に再生され、99% のケースで機能します。しかし、シークすると、時々エラーが発生します。AVPlayerItem のステータスが AVPlayerItemStatusFailed に変わり、その「エラー」プロパティが次のように設定されます。
エラー Domain=AVFoundationErrorDomain Code=-11819 "アクションを完了できません" UserInfo=0x541da00 {NSLocalizedRecoverySuggestion=後でもう一度やり直してください。, NSLocalizedDescription=アクションを完了できません}
このエラーは、iOS 4.0.1 で HTTP ライブ ストリームを前方にシークするときに発生します。電話が 3G に接続されている場合、またはストリームのビットレートが高い場合に、より頻繁に発生します。再現するには、iOS 4.0.1 で AVPlayer を使用して HTTP ライブ ストリームを再生し、ロードされたバッファを越えて前方にシークします。エラーは約 50% の確率で発生します。
AVError.h で、AVFoundation エラー コード -11819 がAVErrorMediaServicesWereReset ("メディア サービスが利用できなくなったため、操作を完了できませんでした")に対応することがわかりました。
このエラーの原因と修正方法を知っている人はいますか? MPMoviePlayerViewController (AVPlayer を使用) にはバグが見られないため、修正が可能であることはわかっています。残念ながら、外部の制約により、私のコードでは MPMoviePlayer を使用できません。
ありがとう!