文档首页 > > 短视频解决方案> 短视频SDK> iOS SDK> 动画贴纸

动画贴纸

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

在时间线(timeline)上进行添加,删除以及获取动画贴纸。

添加/删除动画贴纸

//添加动画贴纸         
for (unsigned int i = 0; i < _videoTrack.clipCount; i++) {             
    NvsVideoClip *videoClip = [_videoTrack getClipWithIndex:i];             
    [_timeline addAnimatedSticker:videoClip.inPoint duration:videoClip.outPoint - videoClip.inPoint animatedStickerPackageId:_stickerPackageId];         
    }          
// 移除动画贴纸,返回当前贴纸的下一下贴纸         
NvsTimelineAnimatedSticker *sticker = [_timeline getFirstAnimatedSticker];         
[_timeline removeAnimatedSticker:sticker];

获取动画贴纸

时间线上有多个接口用来获取添加的动画贴纸。

//获取时间线上第一个动画贴纸         
- (NvsTimelineAnimatedSticker *)getFirstAnimatedSticker;         
//获取时间线上最后一个动画贴纸         
- (NvsTimelineAnimatedSticker *)getLastAnimatedSticker;          
//获取时间线当前动画贴纸的前一个动画贴纸        
- (NvsTimelineAnimatedSticker *)getPrevAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;         
//获取时间线当前动画贴纸的后一个动画贴纸         
- (NvsTimelineAnimatedSticker *)getNextAnimatedSticker:(NvsTimelineAnimatedSticker *)animatedSticker;         
//根据时间线上的位置获得动画贴纸,返回保存当前位置动画贴纸对象的List集合             
//获取的动画贴纸列表排序规则:添加时入点不同,按入点的先后顺序排列;添加时入点相同,按添加动画贴纸的先后顺序排列。       
- (NSArray *)getAnimatedStickersByTimelinePosition:(int64_t)timelinePos;

改变动画贴纸的属性

 //设置动画贴纸的缩放值        
 - (void)setScale:(float)scale;         
//设置动画贴纸的水平翻转         
- (void)setHorizontalFlip:(bool)flip;         
//设置动画贴纸的竖直翻转         
- (void)setVerticalFlip:(bool)flip;         
//设置动画贴纸的旋转角度          
(void)setRotationZ:(float)angle;         
//设置动画贴纸的平移         
- (void)setTranslation:(CGPoint)translation;
//如果是全景图动画贴纸,则还可以设置下列属性
//对动画贴纸设置中心点的极角。 
- (void)setCenterPolarAngle:(float)centerPolarAngle;         
//对动画贴纸设置中心点的方位角。         
- (void)setCenterAzimuthAngle:(float)centerAzimuthAngle;         
//对动画贴纸设置极角的张角。         
- (void)setPolarAngleRange:(float)polarAngleRange;

改变动画贴纸的入出点

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

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区