Альтернативы MPMoviePlayerController на iPhone? - PullRequest
7 голосов
/ 23 апреля 2009

Я ищу альтернативы MPMoviePlayerController на iPhone. В качестве видеоплеера его функциональность очень ограничена. Согласно справочнику класса , например, невозможно получить текущее время воспроизведения или установить новое время. Это просто игра и остановка.

Существуют ли какие-либо промежуточные решения для воспроизведения видео с iPhone, которые предлагают больше функциональности? У CRI есть что-то в разработке , но оно не было выпущено. Мне больше ничего не удалось найти.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 18 ноября 2009

Имейте в виду, что, хотя проект является лицензией GPL, это не означает, что вы не можете связаться с автором по поводу опции LGPL в базовом коде.

Возможно, ваше собственное решение было бы использовать openGL в качестве поверхности компоновки для видео и получить скрытую библиотеку, такую ​​как ffmpeg, если вам нужно обрабатывать определенные типы видео.

В NeHe есть пример рендеринга AVI в openGL: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35

FFMpeg недавно был портирован на iPhone и является продуктом на основе LGPL: http://geek.thinkunique.org/2008/03/05/ffmpeg-on-the-iphone/

(Примечание: есть некоторые споры по поводу коммерческого использования LGPL на iPhone, потому что лицензия ссылается на фразу «динамическая», когда ссылается на библиотечное связывание, которое iPhone не позволяет. Я не видел, чтобы какие-либо проектные команды возражали против их код используется на iPhone статически, но вы должны связаться с авторами напрямую для уточнения.)

Другая (хотя и GPL) версия видеоплеера OpenGL: http://code.google.com/p/glover/

То, что вы получаете благодаря подобному решению, - это, в основном, обход технических деталей, специфичных для iPhone / Mac / CALayer, и использование существующей базы знаний видео через OpenGL, которая, хотя и не обширная, все еще широко поддерживается.

Если вы имеете дело с определенным стилем видео, то вы можете посмотреть, доступна ли библиотека для конкретного видео формата напрямую от поставщика, а не использовать многоцелевой инструмент, такой как FFMpeg. Как только у вас будет работать композитинг, видео может быть получено из любой библиотеки.

Barney

2 голосов
/ 17 июня 2011

Вы можете использовать AVPlayer. См. документацию

Затем можно получить текущее время воспроизведения с помощью currentTime и выполнить поиск в указанное время с помощью seekToTime:.

Вы должны направить визуальный вывод экземпляра AVPlayer в объект AVPlayerLayer (подкласс CALayer). См. первый список здесь .

0 голосов
/ 23 апреля 2009

VLC был портирован на iPhone , но не использует официальный SDK.

...