How to display subtitles within MPMoviePlayerContr

2019-03-19 18:46发布

I built a custom video player, all buttons are working. I need to know what is the code that does the MPMoviePlayerController display subtitles when the video has that option. I did not find anywhere an example or someone who knew what code is behind this subtitle button. Where can I find this?

3条回答
虎瘦雄心在
2楼-- · 2019-03-19 19:23

You will have to implement your own subtitle file parser. The .srt file format is quite simple, here is a discussion about how to parse it.

The more challenging bit is to then synchronize the subtitle display (probably just a UILabel placed on top of the MPMoviePlayerController view), with the current movie time. You should write a class which you can ask for subtitleStringAtTimeInterval: kind of thing (which keeps the subtitles in memory and makes subtitle fetching faster). Then update the subtitles at regular intervals (with NSTimer or a background thread which sleeps for a short time interval between each subtitle update).

查看更多
狗以群分
3楼-- · 2019-03-19 19:37

No code needed... AFAIK the button automatically shows up if the soft-subs are encoded in the video.

See here: http://www.bitfield.se/isubtitle/on_iphone_ipod.html

查看更多
我只想做你的唯一
4楼-- · 2019-03-19 19:40

If your media file has embedded captions MPMoviePlayerViewController will show a button to enable/disable captions. By default, captions are disabled and can not be activated programatically.

Instead, you could use AVPlayer with closedCaptionDisplayEnabled property. But only iOS 4+

查看更多
登录 后发表回答