Я работаю над iPad-приложением, которое воспроизводит видео с MPMoviePlayerController и - на основе взаимодействия с пользователем - использует thumbnailImageAtTime, чтобы попытаться захватить изображение из видео.MPMoviePlayerController thumbnailImageAtTime возвращает пусто UIImage
Я пробовал использовать оба варианта MPMovieTimeOptionNearestKeyFrame и MPMovieTimeOptionExact. Независимо от того, какой вариант, я обнаружил, что иногда получаю пустой UIImage. То есть возвращаемый UIImage представляется действительным объектом (! Nil), но когда я пытаюсь отобразить это изображение (в UImageView), я ничего не вижу.
В других случаях он отлично работает и возвращает хороший миниатюру.
В попытке сузить обстоятельства, самое лучшее, что я могу сказать, состоит в том, что проблема с большей вероятностью появится в первый раз, когда я его назову (т.е. в начале фильма). Как только он потерпит неудачу, он более вероятно работает над последовательными вызовами.
В каждом случае после вызова thumbnailImageAtTime я останавливаю проигрыватель и отпускаю его. Позже я заново создаю объект фильма и загружаю тот же фильм и использую setInitialPlaybackTime, чтобы получить фильм, воспроизводимый одновременно с созданием миниатюры.
После этого, если я снова вызову setInitialPlaybackTime, он почти всегда работает - но не всегда!
Прокомментировал ли кто-нибудь еще такое поведение или дал понять, почему это происходит?
Следующим шагом будет создание примера приложения, которое воспроизводит видео, и имеет кнопку «Получить миниатюру», которая вызовет setInitialPlaybackTime и покажет миниатюру на экране БЕЗ остановки проигрывателя каждый раз в качестве эксперимента. В качестве альтернативы, некоторые из вас могут помочь мне избежать этой тяжелой работы!
Спасибо!