问题:
如何在 tvOS 中将外部 WebVTT 文件添加到我的 AVPlayer?
描述:
我一直在看this "What's New in HTTP Live Streaming" by Apple他们讨论了实现外部 WebVTT 文件的不同方式。
整个字幕域对我来说都很新,所以我很难很好地掌握这个概念。在视频中,他们谈论了许多我不太了解的不同事物,例如(字幕播放列表)。然而,通过所有我主要关心的是将 .vtt 文件添加到我的 AVPlayer。
在视频中他们讨论了这个 AVMediaSelectionGroup()
但我对如何使用以及如何用我的 AVPlayerViewController
实现它感到很困惑:
class PlayerViewController: AVPlayerViewController {
override func viewDidLoad() {
self.setupVideoPlayerView()
}
private func setupVideoPlayerView()
{
let path = "https://link.to.my.video.mp4"
let subTitlePath = "https://link.to.my.webvtt.file.vtt"
let nsURL = URL(string: path)
let avPlayer = AVPlayer(url: nsURL!)
self.player = avPlayer
self.player!.seek(to: kCMTimeZero)
self.player!.play()
}
}
AVMediaSelectionGroup
好像没有添加字幕的方法?我能找到的最接近的东西(提到字幕)是以下方法:
//Where self is the instance of AVPlayerViewController
self.allowedSubtitleOptionLanguages
self.requiresFullSubtitles
最佳答案
虽然在 apple 文档中几乎没有提及,但我在一篇文章中读到字幕需要嵌入到 HLS 流
中。
字幕不打算手动添加..虽然我确实找到了一个显示黑客攻击的 StackOverflow 帖子。不确定它是否有效。
看到我使用 VIMEO Pro,提供的 HLS 流嵌入了 WebVTT 字幕(我上传到 vimeo),从而解决了我的问题。
关于swift - 如何在 tvOS 中将外部 .vtt 字幕文件添加到 AVPlayerViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589710/