我试图猜测某个字幕是否具有辅助功能选项,以显示我正在处理的UI层中的信息。
我正在使用Apple的示例流bipbop:
https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8
该播放列表有几个字幕,其中一些具有辅助功能,例如:
EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="subtitles/eng/prog_index.m3u8"
您可以看到它具有以下特征:
CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound"
从应用程序的角度来看,我使用这段代码检索所有字幕:
AVMediaSelectionGroup * subtitleSelectionGroup = [asset mediaSelectionGroupForMediaCharacteristic: AVMediaCharacteristicLegible];
for (AVMediaSelectionOption * subtitleOption in subtitleSelectionGroup.options) {
NSLog(@"%@", subtitleOption);
}
这是从我们讨论的副标题创建的AVMediaSelectionOption的输出:
<AVMediaSelectionKeyValueOption: 0x14785320, locale = en, mediaType = 'sbtl', tagged media characteristics = {public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound}, title = English, default = YES>
正如您所看到的,AVPlayer正在向我报告该字段中的信息
标记的媒体特征= {public.accessibility.transcribes细语的对话中, public.accessibility.describes音乐及声音}
因为我可以在NSLog的输出中看到它
问题是,如何从代码中查询? AVMediaSelectionOption类中是否有任何特定字段?找不到一个
谢谢!