iOS下CC608的使用有很多谜团。
Apple 的UsingHLS提议在清单中声明它们,如下所示:
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC1",LANGUAGE="en",DEFAULT=YES,AUTOSELECT=YES,INSTREAM-ID="CC1"
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC2",LANGUAGE="sp",AUTOSELECT=YES,INSTREAM-ID="CC2"
#EXT-X-STREAM-INF:BANDWIDTH=1000000,SUBTITLES="subs",CLOSED-CAPTIONS="cc" x.m3u8
但是 Apple 的官方示例流确实包含嵌入到 MPEG 中的 CC608,但他们仍然没有在清单中列出它们!
在该示例流上,我可以使用closedCaptionDisplayEnabled =YES打开 CC608 ,但此方法不允许选择特定语言。
在 Apple 的开发论坛中,我发现这个问题的答案很有希望:
你还在叫“player?.closedCaptionDisplayEnabled=true”吗?
没有必要这样做。如果您使用适当的语言标签正确创作 HLS 播放列表,则用户可以启用他们选择的语言的字幕,或者也完全禁用它们。
我未能在 iOS 中找到 API,这将使我能够:
- 阅读可用 CC608 流的列表
- 为特定语言激活 CC
非常感谢您的帮助!