【发布时间】:2012-01-03 00:15:34
【问题描述】:
我构建了一个自定义视频播放器,所有按钮都可以正常工作。我需要知道当视频具有该选项时 MPMoviePlayerController 显示字幕的代码是什么。我在任何地方都找不到示例或知道此字幕按钮背后的代码的人。我在哪里可以找到这个?
【问题讨论】:
-
没有理由大喊大叫!
标签: iphone ios ipad mpmovieplayercontroller subtitle
我构建了一个自定义视频播放器,所有按钮都可以正常工作。我需要知道当视频具有该选项时 MPMoviePlayerController 显示字幕的代码是什么。我在任何地方都找不到示例或知道此字幕按钮背后的代码的人。我在哪里可以找到这个?
【问题讨论】:
标签: iphone ios ipad mpmovieplayercontroller subtitle
您必须实现自己的字幕文件解析器。 .srt 文件格式非常简单,here 是关于如何解析它的讨论。
更具挑战性的一点是将字幕显示(可能只是放在MPMoviePlayerController 视图顶部的UILabel)与当前电影时间同步。您应该编写一个可以要求 subtitleStringAtTimeInterval: 的类(它将字幕保存在内存中并使字幕获取更快)。然后定期更新字幕(使用NSTimer 或在每次字幕更新之间休眠一小段时间的后台线程)。
【讨论】:
无需代码...如果视频中对软字幕进行了编码,AFAIK 按钮会自动显示。
【讨论】:
如果您的媒体文件嵌入了字幕,MPMoviePlayerViewController 将显示一个按钮来启用/禁用字幕。默认情况下,字幕是禁用的,不能以编程方式激活。
相反,您可以使用带有 closedCaptionDisplayEnabled 属性的 AVPlayer。但只有 iOS 4+
【讨论】: