如何从avplayer获取存储在hls播放列表CHARACTERISTICS字段中的信息

时间:2014-11-19 10:08:25

标签: ios avplayer hls

我试图猜测某个字幕是否具有辅助功能选项,以显示我正在处理的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类中是否有任何特定字段?找不到一个

谢谢!

0 个答案:

没有答案