MPMoviePlayerController необратимо превключва към playbackState paused

Използвам единичен екземпляр на MPMoviePlayerController за възпроизвеждане на кратки клипове (3-10 минути) чрез HTTP-изтегляне в iPad-приложение. Това обикновено работи добре, но в редки случаи възниква следният модел:

  • Започва да се възпроизвежда видеоклип (обикновено от 1 до 4 секунди от него)
  • PlaybackState превключва на MPMoviePlaybackStatePaused. Това не е свързано с loadState. Файлът продължава да идва и loadState показва "playable" или дори "playthroughOK".
  • Натискането на бутона за възпроизвеждане или извикването на [controller play] няма ефект
  • Възпроизвеждането на видео е прекъснато от този момент нататък („прекъснато“, което означава, че всеки следващ поток, иницииран с [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