Можно ли воспроизвести видео на iPhone и синхронизировать субтитры с ним?

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

Если я это нарисовал, это что-то вроде этого, фильм с субтитрами

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам