Action Filter Effect
You can add multiple motion filter effects to a video. Currently, we support 11 motion filter effects. For each motion filter, you can also set the start time and end time when the video takes effect. If multiple filter effects are set at the same time point, the SDK will apply the last filter effect as the current one.
The method of setting special effects is:
- (void) startEffect:(TXEffectType)type startTime:(float)startTime;- (void) stopEffect:(TXEffectType)type endTime:(float)endTime;// The special effect type (typeparameter) is defined in theTXEffectTypeconstant:typedef NS_ENUM(NSInteger,TXEffectType){TXEffectType_ROCK_LIGHT, //Dynamic light waveTXEffectType_DARK_DRAEM, // Dark dreamTXEffectType_SOUL_OUT, //Out-of-Body ExperienceTXEffectType_SCREEN_SPLIT, //Video splittingTXEffectType_WIN_SHADOW, //BlindsTXEffectType_GHOST_SHADOW, //Ghost shadowTXEffectType_PHANTOM, //PhantomTXEffectType_GHOST, // GhostTXEffectType_LIGHTNING, //LightningTXEffectType_MIRROR, //MirrorTXEffectType_ILLUSION, //Illusion};- (void) deleteLastEffect;- (void) deleteAllEffect;
Call
deleteLastEffect() to delete the last set filter effect. Call deleteAllEffect() to delete all set filter effects.Demo example:
Apply the first method of filter effect between 1 - 2s; Apply the second method of filter effect between 3 - 4s; Delete the filter effect set between 3 - 4s.
//Apply the first method of filter effect between 1 - 2 s[_ugcEdit startEffect:TXEffectType_SOUL_OUT startTime:1.0];[_ugcEdit stopEffect:TXEffectType_SOUL_OUT startTime:2.0)];//Apply the second filter effect between 3 - 4 s[_ugcEdit startEffect:TXEffectType_SPLIT_SCREEN startTime:3.0];[_ugcEdit stopEffect:TXEffectType_SPLIT_SCREEN startTime:4.0];Delete the filter effect set in 3 - 4 s[_ugcEdit deleteLastEffect];
Slow/Fast Motion
You can play multiple videos in slow/fast speed. The method of setting slow/fast playback is:
- (void) setSpeedList:(NSArray *)speedList;//The parameters of TXSpeed are as follows:@interface TXSpeed: NSObject@property (nonatomic, assign) CGFloat startTime; //Playback start time for acceleration (s)@property (nonatomic, assign) CGFloat endTime; //Playback end time for acceleration (s)@property (nonatomic, assign) TXSpeedLevel speedLevel; //Acceleration level@end// Currently supports several speed change levels, which are defined in the constant TXSpeedLevel:typedef NS_ENUM(NSInteger, TXSpeedLevel) {SPEED_LEVEL_SLOWEST, // Ultra-slowSPEED_LEVEL_SLOW, // SlowSPEED_LEVEL_NOMAL, // Normal speedSPEED_LEVEL_FAST, // FastSPEED_LEVEL_FASTEST, // Ultra-fast};
Demo:
// The SDK has the feature of supporting multi-segment speed change. This Demo only shows one segment of slow playback.TXSpeed *speed =[[TXSpeed alloc] init];speed.startTime = 1.0;speed.endTime = 3.0;speed.speedLevel = SPEED_LEVEL_SLOW;[_ugcEdit setSpeedList:@[speed]];
Reverse Playback
You can play video footage in reverse order. The method of setting reverse playback:
- (void) setReverse:(BOOL)isReverse;
Demo example:
[_ugcEdit setReverse:YES];
Repeating Video Clip
You can set a video picture to repeat playback, and the sound will not repeat. Method of setting a repeating clip:
- (void) setRepeatPlay:(NSArray *)repeatList;//The parameters of TXRepeat are as follows:@interface TXRepeat: NSObject@property (nonatomic, assign) CGFloat startTime; //Replay start time (s)@property (nonatomic, assign) CGFloat endTime; // Playback end time in s@property (nonatomic, assign) int repeatTimes; //Replay count@end
Demo:
TXRepeat *repeat = [[TXRepeat alloc] init];repeat.startTime = 1.0;repeat.endTime = 3.0;repeat.repeatTimes = 3; //Repetition count[_ugcEdit setRepeatPlay:@[repeat]];