为AVPlayer视频添加字幕

时间:2016-12-17 20:09:45

标签: swift avplayer avasset avqueueplayer closed-captions

我正在使用AVPlayerView来显示我的Apps Bundle目录中的一些本地视频。现在我想添加显示字幕的功能,以增加我的内容的可访问性。

由于我是程序员,电影制作人以及必须创建字幕的人,因此我对任何字幕格式都很开放。解决方案。我发现了一些常见格式(.srt.scc),但是,我想知道如何使用AVPlayer“以编程方式”使用它们。

我初始化视频:

let myVideoPlayer = AVQueuePlayer(url: URL(fileURLWithPath: "/myPath"))

例如,如果您在QuickTime中播放字幕视频,则将两个文件(字幕和视频)放在同一目录中就足够了。我找不到任何提示或解决方案,例如向AVPlayer添加字幕文件网址,这是我所期望的。 这似乎不是正确的做法?

Other threads提到AVPlayers closedCaptionDisplayEnabled适用于Closed Caption曲目。但这又引出了一个问题:如何从单独的文件(如.srt,.scc)中显示AVPlayer的字幕?

2 个答案:

答案 0 :(得分:0)

我最终得到了以下解决方法:将我的资料从Final Cut Pro X导出为.m4v,使用SRT Edit Pro手动创建字幕,然后将其添加到带有Subler的视频文件中,这样我就拥有了最后只有一个文件。这样AVPlayer / QuickTime会自动检测字幕轨道。

答案 1 :(得分:0)

我使用了 ixany 的建议(将字幕添加到视频文件中),但是随后我不得不强制AVPlayer使用以下代码显示字幕:

webpack-dev-server

请注意在模拟器中对此进行测试。对我来说,这仅适用于真实设备。

相关问题