我们正在使用AVPlayer显示视频流和隐藏式字幕文本。有没有办法修改显示的隐藏字幕(CC)文本的字体,文本颜色和其他属性?我查看了AVPlayer文档,似乎唯一可用的控件是打开或关闭CC。
如果有办法实现这一点,请告诉我。
答案 0 :(得分:3)
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
答案 1 :(得分:0)
通过查看API,我看不到实现此目的的方法。从理论上讲,字幕应该显示在UILabel之类的某种UIView实现中。如果是这种情况,您可以在建立播放器之前尝试修改UILabel的外观。
如果这样做,请告诉我:
[[UILabel appearance] setFontSize:20];
[[UILabel appearance] setColor:[UIColor redColor]];