首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AVPlayer定制字幕

用AVPlayer定制字幕
EN

Stack Overflow用户
提问于 2013-08-07 20:55:18
回答 2查看 7.3K关注 0票数 11

我能够在AVPlayer 6上显示一个带有iOS 6的字幕曲目,但是我无法定制它。它只是显示相同的风格(小字体大小,白色)。

下面是我如何选择副标题:

代码语言:javascript
复制
AVMediaSelectionGroup *subtitle = [asset mediaSelectionGroupForMediaCharacteristic: AVMediaCharacteristicLegible];
[self.videoPlayer.currentItem selectMediaOption:subtitle.options[0] inMediaSelectionGroup: subtitle];

以及我是如何定制字幕的:

代码语言:javascript
复制
AVTextStyleRule *rule = [[AVTextStyleRule alloc] initWithTextMarkupAttributes:@{
                         (id)kCMTextMarkupAttribute_ForegroundColorARGB : @[ @1, @1, @0, @0 ],
                         (id) kCMTextMarkupAttribute_ItalicStyle : @(YES)}];

self.videoPlayer.currentItem.textStyleRules = @[rule];

无论是在选择字幕之前还是之后,结果都是一样的。

AVPlayer是用本地(文件) URL ( mp4文件)创建的。

对怎么做有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-15 19:38:14

我在苹果开发者论坛上问了这个问题,我从一位苹果员工那里得到了回答

textStyleRules属性仅适用于WebVTT内容。您的本地文件可能带有TX3G格式的字幕。 您说得对,文档没有提到这个限制,所以您应该提交一个bug,以便我们可以更新文档。

所以,我会打开雷达要求他们更新文档,如果有人想骗我,我会把它的号码发到这里。

编辑

我创建雷达://14923673是为了让苹果更新有关当前限制的文档。我还创建了雷达://14923755,要求他们为TX3G格式的字幕提供支持。

如果你受到这个问题的影响,请欺骗他们。

票数 11
EN

Stack Overflow用户

发布于 2017-06-22 07:26:47

我找到了正确修改文本前景色和背景的变通方法。只需将样式分离到多个AVTextStyleRule。

代码语言:javascript
复制
func initSubtitleStyle() {
    let textStyle:AVTextStyleRule = AVTextStyleRule(textMarkupAttributes: [
        kCMTextMarkupAttribute_CharacterBackgroundColorARGB as String: [0.2,0.3,0.0,0.3]
        ])!


    let textStyle1:AVTextStyleRule = AVTextStyleRule(textMarkupAttributes: [
        kCMTextMarkupAttribute_ForegroundColorARGB as String: [0.2,0.8,0.4,0.0]
        ])!

    let textStyle2:AVTextStyleRule = AVTextStyleRule(textMarkupAttributes: [
        kCMTextMarkupAttribute_BaseFontSizePercentageRelativeToVideoHeight as String: 20,
        kCMTextMarkupAttribute_CharacterEdgeStyle as String: kCMTextMarkupCharacterEdgeStyle_None
        ])!

    player.currentItem?.textStyleRules = [textStyle, textStyle1, textStyle2]
}

请不要问我为什么,这个解决方案来自尝试和错误XD。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18113659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档