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