В настоящее время я пишу собственный видеоплеер, используя AVPlayer. Видео воспроизводится нормально и работает в 99% случаев. Но при поиске периодически сталкиваюсь с ошибкой. Статус моего AVPlayerItem изменяется на AVPlayerItemStatusFailed, а его свойство «ошибка» установлено на:
Домен ошибки = AVFoundationErrorDomain Code = -11819 «Невозможно выполнить действие» UserInfo = 0x541da00 {NSLocalizedRecoverySuggestion = Повторите попытку позже., NSLocalizedDescription = Невозможно выполнить действие}
Ошибка возникает в iOS 4.0.1 при поиске вперед в HTTP Live Stream. Чаще бывает, когда телефон в 3G или битрейт потока высокий. Чтобы воспроизвести воспроизведение, воспроизведите HTTP Live Stream с помощью AVPlayer на iOS 4.0.1 и выполните поиск вперед за пределами загруженного буфера — ошибка возникает примерно в 50% случаев.
Я обнаружил в AVError.h, что код ошибки AVFoundation -11819 соответствует AVErrorMediaServicesWereReset ("Операция не может быть завершена, так как службы мультимедиа стали недоступны") .
Кто-нибудь знает, что вызывает эту ошибку и как ее исправить? Я знаю, что исправление возможно, потому что MPMoviePlayerViewController (который использует AVPlayer) не показывает ошибку. К сожалению, из-за внешних ограничений я не могу использовать MPMoviePlayer в своем коде.
Спасибо!