Как отображать субтитры в MPMoviePlayerController
Я встроил пользовательский видеоплеер, все кнопки работают. Мне нужно знать, что это за код, который MPMoviePlayerController отображает субтитры, когда у видео есть такая опция. Я нигде не нашел ни одного примера или человека, который бы знал, какой код стоит за этой кнопкой субтитров. Где я могу найти это?
3 ответа
Вы должны будете реализовать свой собственный анализатор файлов субтитров. Формат файла.srt довольно прост, здесь обсуждается, как его проанализировать.
Более сложная задача - синхронизировать отображение субтитров (вероятно, просто UILabel
размещен на вершине MPMoviePlayerController
просмотра), с текущим временем фильма. Вы должны написать класс, который вы можете попросить subtitleStringAtTimeInterval
: что-то вроде того (что хранит субтитры в памяти и ускоряет выбор субтитров). Затем обновляйте субтитры через равные промежутки времени (NSTimer
или фоновый поток, который спит в течение короткого промежутка времени между каждым обновлением субтитров).
Если ваш медиафайл имеет встроенные подписи, MPMoviePlayerViewController покажет кнопку для включения / выключения подписей. По умолчанию подписи отключены и не могут быть активированы программно.
Вместо этого вы можете использовать AVPlayer со свойством closedCaptionDisplayEnabled. Но только iOS 4+
Код не требуется... AFAIK кнопка автоматически отображается, если программные сабвуферы закодированы в видео.
Смотрите здесь: http://www.bitfield.se/isubtitle/on_iphone_ipod.html