文档首页 > > 短视频解决方案> 短视频SDK> iOS SDK> 字幕

字幕

分享
更新时间: 2019/08/02 GMT+08:00

字幕添加可以参考demo里面caption示例。在时间线(timeline)上可以添加,删除以及获取字幕。

添加/删除字幕

// 在时间线上添加字幕,返回添加的字幕对象          
[_timeline addCaption:alert.textFields.firstObject.text inPoint:videoClip.inPoint duration:videoClip.outPoint - videoClip.inPoint captionStylePackageId:_captionStylePackageId];

//移除时间上的字幕,返回下一个时间线字幕对象          
NvsTimelineCaption *caption = [_timeline getFirstCaption];         
while (caption) {  
// 非主题自带的字幕              
if (caption.roleInTheme == NvsRoleInThemeGeneral)   
  // 删除字幕,自动返回下一个字幕              
  caption = [_timeline removeCaption:caption];    
else   
  // 获取下一个字幕              
    caption = [_timeline getNextCaption:caption];           
}

获取字幕

获取字幕各个接口如下。

 //获得时间线上的第一个字幕         
- (NvsTimelineCaption *)getFirstCaption; 
//获得时间线上的最后一个字幕         
 - (NvsTimelineCaption *)getLastCaption;
//获得时间线上的当前字幕的前一个字幕         
- (NvsTimelineCaption *)getPrevCaption:(NvsTimelineCaption *)caption;
//获得时间线上的当前字幕的后一个字幕         
 - (NvsTimelineCaption *)getNextCaption:(NvsTimelineCaption *)caption;
// 根据时间线上的位置获得字幕,返回保存当前位置字幕的List集合。
//获取的字幕列表排序规则:添加时字幕入点不同,按入点的先后顺序排列;添加时字幕入点相同,按添加字幕的先后顺序排列。    
 - (NSArray *)getCaptionsByTimelinePosition:(int64_t)timelinePos;

改变字幕属性

字幕属性的设置都是在NvsTimelineCaption类里实现的。获取字幕之后,即可设置下列属性。

//设置字幕文本         
- (void)setText:(NSString *)text;         
//获取字幕文本         
- (NSString *)getText;          
//设置字幕字体加粗         
- (void)setBold:(BOOL)bold;         
//获取字幕字体加粗状态         
- (BOOL)getBold;          
//设置字幕字体斜体         
- (void)setItalic:(BOOL)italic;         
//获取字幕斜体状态         
- (BOOL)getItalic;          
//设置字幕文本颜色         
- (void)setTextColor:(const NvsColor *)textColor;         
//获取字幕字体的当前颜色值         
- (NvsColor)getTextColor;          
//设置字幕描边         
- (void)setDrawOutline:(BOOL)drawOutline;         
//获取字幕描边状态         
- (BOOL)getDrawOutline;          
//设置字幕描边的颜色         
- (void)setOutlineColor:(const NvsColor *)outlineColor;         
//获取当前字幕描边的颜色值         
- (NvsColor)getOutlineColor;          
//设置字幕描边的宽度        
 - (void)setOutlineWidth:(float)outlineWidth;         
//获取当前字幕描边的宽度         
- (float)getOutlineWidth;          
//设置字幕阴影         
- (void)setDrawShadow:(BOOL)drawShadow;         
//获取当前字幕阴影状态         
- (BOOL)getDrawShadow;          
//设置字幕阴影的颜色         
- (void)setShadowColor:(const NvsColor *)shadowColor;         
//获取当前字幕阴影的颜色         
- (NvsColor)getShadowColor;          
// 设置字幕阴影的偏移量          
(void)setShadowOffset:(CGPoint)shadowOffset;         
//获取当前字幕阴影的偏移量         
- (CGPoint)getShadowOffset;          
//设置字幕字体大小         
- (void)setFontSize:(float)fontSize;         
//获取当前字幕的字体大小         
- (float)getFontSize;          
//设置字幕字体         
- (void)setFontWithFilePath:(NSString *)filePath;          
//字幕平移         
- (void)setCaptionTranslation:(CGPoint)translation;
//如果是全景图字幕,还需设置以下属性
//对字幕设置中心点的极角。         
- (void)setCenterPolarAngle:(float)centerPolarAngle;         
//对字幕设置中心点的方位角。         
- (void)setCenterAzimuthAngle:(float)centerAzimuthAngle;         
//对字幕设置极角的张角。         
- (void)setPolarAngleRange:(float)polarAngleRange;         
//对字幕设置水平缩放系数         
- (void)setPanoramicScaleX:(float)scaleX;         
//对字幕设置垂直缩放系数。         
- (void)setPanoramicScaleY:(float)scaleY;

改变字幕的入出点

//获取字幕在时间线上显示的入点         
 - (int64_t)changeInPoint:(int64_t)newInPoint;
//获取字幕在时间线显示上的出点         
- (int64_t)changeOutPoint:(int64_t)newOutPoint;
//改变字幕在时间线上的显示位置(入点和出点同时偏移offset值)         
- (void)movePosition:(int64_t)offset; 
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区