扫一扫咨询方案
更新时间 : 2026-03-23 16:02:49
轨道组中可以包含多个轨道,轨道组只引用轨道,不管理轨道的生命周期,轨道的创建和删除通过SXEditManager实例操作。
创建和删除轨道组,通过SXEditManager实例创建和删除
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//组是顺序存储的,在末尾追加一个组
let group: SXTrackGroup = manager.addNewGroup();
//在指定位置添加组
let groupAnother: SXTrackGroup = manager.addNewGroupAt(1);
//删除该组
manger.deleteGroup(group.getGroupId());
/** 轨道时间示意
* start time display time duration disappear time end time
* | | | | |
* | |-----------------------------| |
* |-------------|-----------------------------|------------|
* ----------------------------------------------------------------------
* time
**/
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//添加组到末尾
let group: SXTrackGroup = manager.addNewGroup();
//媒体素材路径,接受视频和图片素材
let path: string = "";
//使用SXEditManager创建相应素材的媒体轨道,图片轨道时长默认时长为3秒,其他素材使用素材自身时长
let track: SXMediaTrack = manager.createMediaTrack(path);
//在组的某个时间添加一个轨道,等价于调用轨道方法 moveToTime;如已加入此组或添加到非创建此轨道的合成中返回false
let ret: boolean = group.addTrack(track, 3);
//移除组内的一个轨道,移除后轨道本身的显示区间不变
group.removeTrack(track.getTrackId());
//移除组内所有轨道
group.clearTracks();
/**
* display time track split time new track out point
* |-----------------------|--------------------------|
* ----------------------------------------------------------------------
* 拆分轨道,拆分后的轨道附加效果时间不变,请根据需要做相应的调整
* 拆分后的新轨道会自动插入到被拆分轨道的下一个位置
* splitTime 相对于轨道自身display time的局部时间
* 查找轨道失败或拆分时间不在轨道显示范围内返回 null
*/
let newTrack: SXTrack = group.splitTrack(track.getTrackId(), 1);
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//添加组到末尾
let group: SXTrackGroup = manager.addNewGroup();
//媒体素材路径,接受视频和图片素材
let path: string = "";
//使用SXEditManager创建相应素材的媒体轨道,图片轨道时长默认时长为3秒,其他素材使用素材自身时长
let track: SXMediaTrack = manager.createMediaTrack(path);
//使用SXEditManager创建相应素材的媒体轨道,图片轨道时长默认时长为3秒,其他素材使用素材自身时长
let trackAnother: SXMediaTrack = manager.createMediaTrack(path);
//在组的某个时间添加一个轨道,等价于调用轨道方法 moveToTime;如已加入此组或添加到非创建此轨道的合成中返回false
group.addTrack(track, 0);
group.addTrack(trackAnother, 1);
//对组内的 track 排序,并设置 track 前后时间相接, 并设置是否应用转场效果
group.arrangeTracks(true);

轨道组中可以包含多个轨道,轨道组只引用轨道,不管理轨道的生命周期,轨道的创建和删除通过SXEditManager实例操作。
创建和删除轨道组,通过SXEditManager实例创建和删除
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//组是顺序存储的,在末尾追加一个组
let group: SXTrackGroup = manager.addNewGroup();
//在指定位置添加组
let groupAnother: SXTrackGroup = manager.addNewGroupAt(1);
//删除该组
manger.deleteGroup(group.getGroupId());
/** 轨道时间示意
* start time display time duration disappear time end time
* | | | | |
* | |-----------------------------| |
* |-------------|-----------------------------|------------|
* ----------------------------------------------------------------------
* time
**/
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//添加组到末尾
let group: SXTrackGroup = manager.addNewGroup();
//媒体素材路径,接受视频和图片素材
let path: string = "";
//使用SXEditManager创建相应素材的媒体轨道,图片轨道时长默认时长为3秒,其他素材使用素材自身时长
let track: SXMediaTrack = manager.createMediaTrack(path);
//在组的某个时间添加一个轨道,等价于调用轨道方法 moveToTime;如已加入此组或添加到非创建此轨道的合成中返回false
let ret: boolean = group.addTrack(track, 3);
//移除组内的一个轨道,移除后轨道本身的显示区间不变
group.removeTrack(track.getTrackId());
//移除组内所有轨道
group.clearTracks();
/**
* display time track split time new track out point
* |-----------------------|--------------------------|
* ----------------------------------------------------------------------
* 拆分轨道,拆分后的轨道附加效果时间不变,请根据需要做相应的调整
* 拆分后的新轨道会自动插入到被拆分轨道的下一个位置
* splitTime 相对于轨道自身display time的局部时间
* 查找轨道失败或拆分时间不在轨道显示范围内返回 null
*/
let newTrack: SXTrack = group.splitTrack(track.getTrackId(), 1);
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//添加组到末尾
let group: SXTrackGroup = manager.addNewGroup();
//媒体素材路径,接受视频和图片素材
let path: string = "";
//使用SXEditManager创建相应素材的媒体轨道,图片轨道时长默认时长为3秒,其他素材使用素材自身时长
let track: SXMediaTrack = manager.createMediaTrack(path);
//使用SXEditManager创建相应素材的媒体轨道,图片轨道时长默认时长为3秒,其他素材使用素材自身时长
let trackAnother: SXMediaTrack = manager.createMediaTrack(path);
//在组的某个时间添加一个轨道,等价于调用轨道方法 moveToTime;如已加入此组或添加到非创建此轨道的合成中返回false
group.addTrack(track, 0);
group.addTrack(trackAnother, 1);
//对组内的 track 排序,并设置 track 前后时间相接, 并设置是否应用转场效果
group.arrangeTracks(true);