The content of this page has been automatically translated by AI. If you encounter any problems while reading, you can view the corresponding content in Chinese.
Help & Documentation>User Generated Short Video SDK

iOS

Last updated: 2025-03-17 17:19:27

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 (type parameter) is defined in the TXEffectType constant:
typedef NS_ENUM(NSInteger,TXEffectType)
{
TXEffectType_ROCK_LIGHT, //Dynamic light wave
TXEffectType_DARK_DRAEM, // Dark dream
TXEffectType_SOUL_OUT, //Out-of-Body Experience
TXEffectType_SCREEN_SPLIT, //Video splitting
TXEffectType_WIN_SHADOW, //Blinds
TXEffectType_GHOST_SHADOW, //Ghost shadow
TXEffectType_PHANTOM, //Phantom
TXEffectType_GHOST, // Ghost
TXEffectType_LIGHTNING, //Lightning
TXEffectType_MIRROR, //Mirror
TXEffectType_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-slow
SPEED_LEVEL_SLOW, // Slow
SPEED_LEVEL_NOMAL, // Normal speed
SPEED_LEVEL_FAST, // Fast
SPEED_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]];