我们正在使用 AVPlayer 来显示视频流和隐藏式字幕文本。有没有办法修改显示的隐藏式字幕(CC)文本的字体、文本颜色和其他属性?我查看了 AVPlayer 文档,似乎唯一可用的控件是打开或关闭 CC。
请让我知道是否有办法实现这一目标。
iOS 6 引入了 AVTextStyleRule 可以用来影响字幕的属性。文档似乎表明它们也适用于隐藏式字幕,但情况似乎并非如此。
AVTextStyleRule *rule = [[AVTextStyleRule alloc]initWithTextMarkupAttributes:@{
(id)kCMTextMarkupAttribute_RelativeFontSize : @(200),
(id)kCMTextMarkupAttribute_ForegroundColorARGB : @[ @1, @1, @0, @0 ]}];
playerItem.textStyleRules = @[rule];
有关字幕的详细信息,请参阅有关在 HLS 中使用 WebVTT 的本教程
通过查看 API,我看不到实现这一目标的方法。理论上,标题应该显示在某种 UIView 实现中,如 UILabel。如果是这种情况,您可以尝试在建立播放器之前修改 UILabel 的外观。
让我知道这是否有任何作用:
[[UILabel appearance] setFontSize:20];
[[UILabel appearance] setColor:[UIColor redColor]];