Как отображать субтитры в MPMoviePlayerController - PullRequest
8 голосов
/ 21 ноября 2011

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

Ответы [ 3 ]

4 голосов
/ 21 ноября 2011

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

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

2 голосов
/ 23 ноября 2011

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

См. Здесь: http://www.bitfield.se/isubtitle/on_iphone_ipod.html

2 голосов
/ 21 ноября 2011

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

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

...