Можно ли воспроизвести видео на iPhone и синхронизировать субтитры с ним?
Я хочу добавить субтитры к видео, воспроизводимому в приложении для iPhone. Я не хочу, чтобы эти субтитры были закодированы в самом видео - в идеале я хотел бы иметь представление, показывающее видео (с паузой, воспроизведением, громкостью и такими стандартными элементами управления) вместе с представлением, отображающим текст, который изменяется вместе со временем фильма меняется.
Если я это нарисовал, это что-то вроде этого,
Поэтому, в принципе, мне нужен способ вызвать метод, вызываемый во время воспроизведения фильма, а затем синхронизировать текст, отображаемый на этикетке, с синхронизацией фильма.
Кто-нибудь использовал решение, которое смогло это сделать?
1 ответ
Я недавно сделал что-то, что синхронизирует графику с аудио-треком. Я сделал это, используя свойство currentPlaybackTime интерфейса MPMediaPlayback (которому должен также соответствовать контроллер MoviePlayer). Это возвращает секунды, прошедшие в СМИ, в double
(typedef'ed как NSTimeInterval
). Фактическая синхронизация в моем приложении не была сделана в уведомлениях, так как я не мог найти ничего похожего на "тик", но вместо этого я создал таймер, вызвав функцию, опрошенную currentPlaybackTime, и обновил графику на основе этого.
С точки зрения вашей реализации, я бы предположил, что у вас есть какая-то система для связи текста метки (субтитров) с определенным временем. Затем вы можете сравнить временной диапазон текста со временем, возвращаемым из currentPlaybackTime, чтобы найти правильный текст для отображения.