2011-06-29 14 views
2

私は現在、AVPlayerを使用してカスタムビデオプレーヤーを作成しています。動画は正常に再生され、99%のケースで機能します。しかし、シークするときに時々エラーに遭遇します。 AVPlayerItemStatusFailedへの私のAVPlayerItemの状態が変化し、その "エラー" プロパティがに設定されています:AVErrorMediaServicesWereResetの意味は何ですか?

エラードメイン= AVFoundationErrorDomain コード= -11819 のUserInfo = 0x541da00 {NSLocalizedRecoverySuggestion =後でもう一度 を試してみてください "ではない完全なアクションができます"。 、 NSLocalizedDescriptionは= HTTPライブストリーミングで前方に求めているとき

エラーは、iOS 4.0.1で発生} アクションを完了することはできません。電話機が3Gに接続されているか、ストリームのビットレートが高い場合は、より頻繁に発生します。再生するには、iOS 4.0.1でAVPlayerを使用してHTTPライブストリームを再生し、ロードされたバッファを先に探します。エラーは約50%発生します。

私はAVFoundationエラーコード-11819がAVErrorMediaServicesWereReset (「メディア・サービスが利用できなくなったため、操作を完了できませんでした」)に対応することAVError.hで見つかりました。

このエラーの原因と解決方法を知っている人はいますか?私は、MPMoviePlayerViewController(AVPlayerを使用する)がバグを呈示しないため、修正が可能であることを知っています。残念ながら、外部の制約のために、自分のコードでMPMoviePlayerを使用することはできません。

ありがとうございます!

答えて

0

AVPlayerは、iOS 4.0.1上のHTTPライブストリームで前方を探しているときに非常に非スレッドセーフです。私のコードの中には、setNeedsDisplayまたはそれ以外の方法で呼び出されたシステムUIコードがあり、描画中にそのプレイヤーを「中断」しました。解決策は、ユーザーがあるポジションを探すときと、そのポジションからプレーを開始するときとの間でビューを更新しないことでした。幸いにも、これは4.3+で修正されたようです。