我们正在使用AVPlayer来显示视频流和隐藏字幕文本。是否有任何方法可以修改显示的隐藏字幕(CC)文本的字体,文本颜色和其他属性?我看了AVPlayer文档,似乎唯一可用的控件是打开或关闭CC。请让我知道是否有办法做到这一点。
sg24os4d1#
iOS 6引入了AVTextStyleRule,它可以用来影响字幕的属性。文档似乎表明它们也适用于隐藏字幕,但情况似乎并非如此。
AVTextStyleRule *rule = [[AVTextStyleRule alloc]initWithTextMarkupAttributes:@{ (id)kCMTextMarkupAttribute_RelativeFontSize : @(200), (id)kCMTextMarkupAttribute_ForegroundColorARGB : @[ @1, @1, @0, @0 ]}]; playerItem.textStyleRules = @[rule];
字符串有关字幕的详细信息,请参见this tutorial on using WebVTT in HLS
polhcujo2#
通过查看API,我没有看到实现这一点的方法。理论上,标题应该显示在某种UIView实现中,如UILabel。如果是这种情况,您可以尝试在建立播放器之前修改UILabel的外观。让我知道如果这做任何事情:
[[UILabel appearance] setFontSize:20]; [[UILabel appearance] setColor:[UIColor redColor]];
字符串
jhkqcmku3#
用于更改字体大小的Swift版本:
videoPlayer.currentItem?.textStyleRules = [AVTextStyleRule(textMarkupAttributes: [kCMTextMarkupAttribute_RelativeFontSize as String : fontSize])!]
3条答案
按热度按时间sg24os4d1#
iOS 6引入了AVTextStyleRule,它可以用来影响字幕的属性。文档似乎表明它们也适用于隐藏字幕,但情况似乎并非如此。
字符串
有关字幕的详细信息,请参见this tutorial on using WebVTT in HLS
polhcujo2#
通过查看API,我没有看到实现这一点的方法。理论上,标题应该显示在某种UIView实现中,如UILabel。如果是这种情况,您可以尝试在建立播放器之前修改UILabel的外观。
让我知道如果这做任何事情:
字符串
jhkqcmku3#
用于更改字体大小的Swift版本:
字符串