Можно ли воспроизвести видео на iPhone и синхронизировать субтитры с ним? - PullRequest
10 голосов
/ 05 февраля 2011

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

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

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

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

1 Ответ

9 голосов
/ 07 февраля 2011

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

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

...