UGCKitEditViewController.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright (c) 2019 Tencent. All rights reserved.
  2. #import <UIKit/UIKit.h>
  3. #import "UGCKitMedia.h"
  4. #import "UGCKitResult.h"
  5. #import "UGCKitTheme.h"
  6. #import "UGCKitWatermark.h"
  7. typedef NS_ENUM(NSInteger, TCEditRotation) {
  8. TCEditRotation0,
  9. TCEditRotation90,
  10. TCEditRotation180,
  11. TCEditRotation270
  12. };
  13. typedef NS_ENUM(NSInteger, UGCKitGenerateMode) {
  14. UGCKitGenerateModeDefault,
  15. UGCKitGenerateModeTwoPass
  16. };
  17. enum TXVideoCompressed : NSInteger;
  18. /// 视频编辑参数
  19. @interface UGCKitEditConfig : NSObject
  20. /// 视频的旋转角度
  21. @property (assign, nonatomic) TCEditRotation rotation;
  22. /// 压缩分辨率
  23. @property (assign, nonatomic) enum TXVideoCompressed compressResolution;
  24. /// 视频码率(kbps),小于0时会自动判断
  25. @property (assign, nonatomic) int videoBitrate;
  26. /// 视频水印
  27. @property (strong, nonatomic) UGCKitWatermark *watermark;
  28. /// 片尾水印
  29. @property (strong, nonatomic) UGCKitWatermark *tailWatermark;
  30. /// 生成模式
  31. @property (assign, nonatomic) UGCKitGenerateMode generateMode;
  32. /// 以默认配置初始化
  33. - (instancetype)init;
  34. @end
  35. /// 视频编辑器
  36. @interface UGCKitEditViewController : UIViewController
  37. @property (assign, nonatomic) UGCKitGenerateMode generateMode;
  38. - (instancetype)initWithMedia:(UGCKitMedia *)asset config:(UGCKitEditConfig *)config theme:(UGCKitTheme *)theme;
  39. /// 点击下一步时的回调,您可以在此进行业务的交互逻辑,如让用户选择是否保存等,
  40. /// 完成后调用 finish(YES) 开始生成视频,finish(NO)来取取消操作
  41. /// 视频生成的结果会通过 completion 回调。
  42. /// 如果不设置此回调,会直接生成视频并通过 completion 进行回调。
  43. @property (copy, nonatomic) void(^onTapNextButton)(void(^finish)(BOOL shouldGenerate));
  44. /// 视频生成完成回调
  45. @property (copy, nonatomic) void(^completion)(UGCKitResult *result);
  46. @property(nonatomic, strong) NSString* videoOutputPath;
  47. @end