Как отображать субтитры в MPMoviePlayerController

Я встроил пользовательский видеоплеер, все кнопки работают. Мне нужно знать, что это за код, который MPMoviePlayerController отображает субтитры, когда у видео есть такая опция. Я нигде не нашел ни одного примера или человека, который бы знал, какой код стоит за этой кнопкой субтитров. Где я могу найти это?

3 ответа

Вы должны будете реализовать свой собственный анализатор файлов субтитров. Формат файла.srt довольно прост, здесь обсуждается, как его проанализировать.

Более сложная задача - синхронизировать отображение субтитров (вероятно, просто UILabel размещен на вершине MPMoviePlayerController просмотра), с текущим временем фильма. Вы должны написать класс, который вы можете попросить subtitleStringAtTimeInterval: что-то вроде того (что хранит субтитры в памяти и ускоряет выбор субтитров). Затем обновляйте субтитры через равные промежутки времени (NSTimer или фоновый поток, который спит в течение короткого промежутка времени между каждым обновлением субтитров).

Если ваш медиафайл имеет встроенные подписи, MPMoviePlayerViewController покажет кнопку для включения / выключения подписей. По умолчанию подписи отключены и не могут быть активированы программно.

Вместо этого вы можете использовать AVPlayer со свойством closedCaptionDisplayEnabled. Но только iOS 4+

Код не требуется... AFAIK кнопка автоматически отображается, если программные сабвуферы закодированы в видео.

Смотрите здесь: http://www.bitfield.se/isubtitle/on_iphone_ipod.html

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