产品动态
关于短视频 SDK “startPlay”接口名变更的公告
- (void) setPasterList:(NSArray *)pasterList;// TXPaster 的参数如下:@interface TXPaster: NSObject@property (nonatomic, strong) UIImage* pasterImage; //贴纸图片@property (nonatomic, assign) CGRect frame; //贴纸 frame(注意这里的 frame 坐标是相对于渲染 view 的坐标)@property (nonatomic, assign) CGFloat startTime; //贴纸起始时间(s)@property (nonatomic, assign) CGFloat endTime; //贴纸结束时间(s)@end
- (void) setAnimatedPasterList:(NSArray *)animatedPasterList;// TXAnimatedPaster 的参数如下:@interface TXAnimatedPaster: NSObject@property (nonatomic, strong) NSString* animatedPasterpath; //动图文件路径@property (nonatomic, assign) CGRect frame; //动图的 frame(注意这里的 frame 坐标是相对于渲染 view 的坐标)@property (nonatomic, assign) CGFloat rotateAngle; //动图旋转角度 (0 ~ 360)@property (nonatomic, assign) CGFloat startTime; //动图起始时间(s)@property (nonatomic, assign) CGFloat endTime; //动图结束时间(s)@end
- (void)setVideoPasters:(NSArray*)videoPasterInfos{NSMutableArray* animatePasters = [NSMutableArray new];NSMutableArray* staticPasters = [NSMutableArray new];for (VideoPasterInfo* pasterInfo in videoPasterInfos) {if (pasterInfo.pasterInfoType == PasterInfoType_Animate) {TXAnimatedPaster* paster = [TXAnimatedPaster new];paster.startTime = pasterInfo.startTime;paster.endTime = pasterInfo.endTime;paster.frame = [pasterInfo.pasterView pasterFrameOnView:_videoPreview];paster.rotateAngle = pasterInfo.pasterView.rotateAngle * 180 / M_PI;paster.animatedPasterpath = pasterInfo.path;[animatePasters addObject:paster];}else if (pasterInfo.pasterInfoType == PasterInfoType_static){TXPaster *paster = [TXPaster new];paster.startTime = pasterInfo.startTime;paster.endTime = pasterInfo.endTime;paster.frame = [pasterInfo.pasterView pasterFrameOnView:_videoPreview];paster.pasterImage = pasterInfo.pasterView.staticImage;[staticPasters addObject:paster];}}[_ugcEditer setAnimatedPasterList:animatePasters];[_ugcEditer setPasterList:staticPasters];}
- (void) setSubtitleList:(NSArray *)subtitleList;TXSubtitle 的参数如下:@interface TXSubtitle: NSObject@property (nonatomic, strong) UIImage* titleImage; //字幕图片 (这里需要客户把承载文字的控件转成 image 图片)@property (nonatomic, assign) CGRect frame; //字幕的 frame(注意这里的 frame 坐标是相对于渲染 view 的坐标)@property (nonatomic, assign) CGFloat startTime; //字幕起始时间(s)@property (nonatomic, assign) CGFloat endTime; //字幕结束时间(s)@end
@interface VideoTextInfo : NSObject@property (nonatomic, strong) VideoTextFiled* textField;@property (nonatomic, assign) CGFloat startTime; //in seconds@property (nonatomic, assign) CGFloat endTime;@endvideoTextInfos = @[VideoTextInfo1, VideoTextInfo2 ...];for (VideoTextInfo* textInfo in videoTextInfos) {TXSubtitle* subtitle = [TXSubtitle new];subtitle.titleImage = textInfo.textField.textImage; //UILabel(UIView) -> UIImagesubtitle.frame = [textInfo.textField textFrameOnView:_videoPreview]; //计算相对于渲染 view 的坐标subtitle.startTime = textInfo.startTime; //字幕起始时间subtitle.endTime = textInfo.endTime; //字幕结束时间[subtitles addObject:subtitle]; //添加字幕列表}[_ugcEditer setSubtitleList:subtitles]; //设置字幕列表
文档反馈