2

我下载了一个带有字幕的 YouTube 视频。我把它上传到我的平台上,当我流式传输视频时,我没有字幕。

AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:url options:nil];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset];
AVMediaSelectionGroup* subtitle = [avAsset mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicLegible];
[playerItem selectMediaOption:subtitle.options[0] inMediaSelectionGroup:subtitle];

变量 'subtitle' 的值为 nil。

代码有问题还是必须以不同的方式配置视频?

4

1 回答 1

0

这个惊人的 SO 答案解释了 AVPlayer 处理字幕的方式。

您需要使用一些视频编辑软件将子位“刻录”到视频中,或者创建 .vtt 文件并将它们包含在 mast 播放列表 (.m3u8) 文件中。然后使用上面粘贴的代码,您应该能够打开或关闭字幕。

于 2019-01-17T08:16:53.157 回答