2011-02-05 2 views
10

Я хочу добавить «субтитры» к видео, воспроизводимому в приложении для iPhone. Я не хочу, чтобы эти субтитры были закодированы в самом видео - в идеале мне бы хотелось иметь представление, показывающее видео (с паузой, воспроизведением, громкостью и такими стандартными элементами управления) вместе с представлением, отображающим текст, который изменяется вместе с временем видео меняется.Можно ли воспроизводить видео на iPhone и синхронизировать с ним субтитры?

Если я вывод, что это что-то вроде этого, movie with subtitle

Так, поясню, я должен был бы способ получить метод вызывается, когда фильм воспроизводится, а затем синхронизировать текст, отображаемый на этикетке с фильм время.

Кто-нибудь пользовался решением, которое могло это сделать?

+0

Будет ли видео на устройстве (локальном) или потоковым? Если потоковая передача вы можете кодировать «на лету», используя что-то вроде этого: http://www.tuaw.com/2011/02/08/banana-tv-may-let-ios-devices-stream-video-to-the-mac/from http://ericasadun.com/ у нее может быть код для кодирования, который можно использовать для локального воспроизведения видео. Вы собираетесь использовать файл .srt для субтитров? –

+0

мы можем редактировать, используя изменяющийся текст в видео, как фильмы, в которых имена актеров поступают один за другим. – Imran

ответ

9

Я недавно сделал что-то, что синхронизирует графику со временем в звуковой дорожке. То, как я это делал, это использовать свойство currentPlaybackTime интерфейса MPMediaPlayback (которым также должен соответствовать контроллер MoviePlayer). Это возвращает секунды, прошедшие в носителе, в double (typedef'ed как NSTimeInterval). Фактическая синхронизация в моем приложении не выполнялась в уведомлениях, так как я не мог найти никакого напоминания о «тике», но вместо этого я создал таймер, вызвав функцию, запрошенную currentPlaybackTime, и обновил графику на основе этого.

Что касается вашей реализации, я бы предположил, что у вас есть какая-то система для связывания текста меток (субтитров) с определенным временем. Затем вы можете сравнить временной диапазон текста с временем, возвращаемым currentPlaybackTime, чтобы найти правильный текст для отображения.

+0

мы можем редактировать, используя изменяющийся текст в видео, как фильмы, в которых имена актеров появляются один за другим. – Imran