MPMoviePlayerController (и iOS в целом) поддерживает файлы .mov. См. Apple class documentation, section "Supported Formats". Но поддерживается только ограниченное количество видеокодеков.
Обманчиво, формат Quicktime «.mov» не является видеокодеком, а скорее форматом аудио/видеоконтейнера, который может содержать видео и аудио (и некоторые другие вещи) в любом количестве кодеков сжатия (h.264, mpeg2 , ProRes, MJPEG, AAC, mp3 и т. Д.)
Ваши файлы не работают, потому что они включают в себя видео, сжатые с помощью кодека, который iOS не поддерживает (может быть, PhotoJPEG, если это Flash-анимация?). Вы можете проверить формат своих видеороликов, открыв их в Quicktime Player в Mac OS X и нажав «Показать инспектор видео» в меню «Окно».
Невозможно добавить поддержку дополнительных кодеков в собственную систему воспроизведения видео iOS (MPMoviePlayerController и друзей). Это оставляет два варианта;
- Перепакуйте файлы, чтобы сделать их совместимыми
- Используйте различные рамки воспроизведения видео.
Вы говорите, что вы уже попробовали повторно сжать файлы, но это по-прежнему лучший вариант. Я рекомендую вам попробовать перекомпоновать файлы с помощью Handbrake. Кодек h.264 способен к отличным результатам (см. Фильмы BluRay, магазин iTunes Movie и т. Д.)
Если вам действительно нужно воспроизвести анимацию в их текущем формате, вам нужно использовать другую среду воспроизведения видео , Я предлагаю вам посмотреть на libVLC и VLCKit из excellent VideoLan project (у меня возникают проблемы с доступом к страницам проекта VLCKit, но a fork is available here). Имейте в виду, что не-родное воспроизведение видео, скорее всего, не будет аппаратным ускорением, и поэтому съест батареи ваших пользователей.
Последнее, если ваши видео короткие и тихие ... может ли анимированный GIF быть вариантом?