MPMoviePlayerController необратимо переключается на воспроизведение Состояние приостановлено

Я использую единственный экземпляр MPMoviePlayerController для воспроизведения коротких клипов (3–10 минут) через HTTP-загрузку в приложении для iPad. Это обычно работает нормально, но в редких случаях встречается следующая закономерность:

  • Начнется воспроизведение видео (обычно от 1 до 4 секунд).
  • Состояние воспроизведения переключается на MPMoviePlaybackStatePaused. Это не связано с loadState. Файл продолжает поступать, и loadState указывает «playable» или даже «playthroughOK».
  • Нажатие кнопки воспроизведения или вызов [воспроизведение контроллера] не имеет никакого эффекта
  • Воспроизведение видео прерывается с этого момента («прервано» означает, что любой последующий поток, инициированный с помощью [controller setContentURL:], почти наверняка приведет к такому же поведению)
  • Воспроизведение видео продолжает прерываться даже после перезапуска приложения.
  • Все, что вы можете сделать, это перезагрузить устройство.
  • Дефект не привязан к какому-либо конкретному видеофайлу, что нарушает воспроизводимость приложения.

Я подозреваю, что мой iPad, который использовался для разработки, сломался, но некоторые из наших пользователей тоже сталкиваются с этой проблемой (включая временное решение проблемы путем перезагрузки iPad) и, как вы можете догадаться, недовольны.

Кто-нибудь еще испытывает эту проблему? Есть какие-нибудь исправления?


person flitzwald    schedule 23.06.2010    source источник
comment
Я наблюдаю аналогичные проблемы с iPhone 4. Надеюсь, вы найдете ответ.   -  person Ed Marty    schedule 29.06.2010


Ответы (2)


У меня возникла аналогичная периодически возникающая проблема в приложении, над которым я работаю. Это происходило только иногда, и только на 2 из 12 iPad, на которых я тестировал - все были на iOS 3.2.2.

Мое видео было локальным, но симптомы те же: после нажатия кнопки воспроизведения оно автоматически приостанавливалось, и я не мог перезапустить его. Это будет сохраняться при перезапуске приложений и потребует перезапуска устройства для исправления.

Что в конечном итоге исправило для меня, так это установить MPMoviePlayerController useApplicationAudioSession на NO. В моем случае я начинал еще один аудиосеанс для чего-то другого, и в этих редких случаях они как-то облажались.

Не уверен, была ли это та же проблема, что и у оригинального плаката, но я хотел где-то записать свое исправление, так как Интернет не сильно помог в этом, и я потратил много времени, чтобы выяснить это.

person Scott Roth    schedule 01.10.2010

По-видимому, это была проблема с iPhoneOS 3.2. После обновления до iPhoneOS 3.2.1 проблема исчезла.

person flitzwald    schedule 23.07.2010
comment
Я только что столкнулся с этим сегодня, спасибо, я думал, что испортил свой код, но это было нормально. - person Leg10n; 26.08.2010