扫一扫咨询方案
更新时间 : 2026-03-26 09:57:13
SXComposite 管理一个合成中的所有资源,包括组,轨道等。
1.初始化
需要通过SXEditManager中的createComposite方法。
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//创建一个宽为360,长为640,总共100帧的合成
let composite: SXComposite = manager.createComposite(360, 640, 100);
2.获取合成属性
一个合成拥有自己的一些属性,如高度,宽度,帧速率,时间等等, 下面的方法可以获取这些属性的值。
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//创建一个宽为360,长为640,总共100帧的合成
let composite: SXComposite = manager.createCompositeWithSize(360, 640, 100);
//获取合成 Id
let compositeId: string = composite.getCompositeId();
//获取合成尺寸
let size: Size = composite.getSize();
//获取合成帧率
let fps: number = composite.getFps();
//获取合成时长,时长单位为秒
let duration: number = composite.getDuration();
//获取合成帧数
let frames: number = composite.getFrames();
//获取合成中轨道的最大结束时间 是否排除音频时长
let time: number = composite.getContentMaxTime();
注意包含在合成中的组无法通过 SXEditManager 获取,只能通过合成获取。
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//创建一个宽为360,长为640,总共100帧的合成
let composite: SXComposite = manager.createCompositeWithSize(360, 640, 100);
//组是顺序存储的,在末尾追加一个组
let group: SXTrackGroup = composite.addNewGroup();
//在指定位置添加组
let groupAnother: SXTrackGroup = composite.addNewGroupAt(1);
//通过id获取对应的组
let groupSame: SXTrackGroup = composite.getGroup(group.getGroupId());
//通过id删除组,如果组内存在轨道则会移除所有轨道,但不会删除轨道
composite.deleteGroup(group.getGroupId());
//移动一个组到指定的位置,-1代表末尾,组查找失败或索引越界则会失败
composite.moveGroupTo(groupAnother, -1);
//获取所有的组,不包含主轨道
let groups: SXTrackGroup[] = composite.getGroups();

SXComposite 管理一个合成中的所有资源,包括组,轨道等。
1.初始化
需要通过SXEditManager中的createComposite方法。
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//创建一个宽为360,长为640,总共100帧的合成
let composite: SXComposite = manager.createComposite(360, 640, 100);
2.获取合成属性
一个合成拥有自己的一些属性,如高度,宽度,帧速率,时间等等, 下面的方法可以获取这些属性的值。
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//创建一个宽为360,长为640,总共100帧的合成
let composite: SXComposite = manager.createCompositeWithSize(360, 640, 100);
//获取合成 Id
let compositeId: string = composite.getCompositeId();
//获取合成尺寸
let size: Size = composite.getSize();
//获取合成帧率
let fps: number = composite.getFps();
//获取合成时长,时长单位为秒
let duration: number = composite.getDuration();
//获取合成帧数
let frames: number = composite.getFrames();
//获取合成中轨道的最大结束时间 是否排除音频时长
let time: number = composite.getContentMaxTime();
注意包含在合成中的组无法通过 SXEditManager 获取,只能通过合成获取。
//根据需求的宽、高、fps创建SXEditOptions
let options: SXEditOptions = new SXEditOptions(720, 1280, 25);
//使用SXEditOptions创建对应的SXEditManager
let manager: SXEditManager = SXEditManager.create(options);
//创建一个宽为360,长为640,总共100帧的合成
let composite: SXComposite = manager.createCompositeWithSize(360, 640, 100);
//组是顺序存储的,在末尾追加一个组
let group: SXTrackGroup = composite.addNewGroup();
//在指定位置添加组
let groupAnother: SXTrackGroup = composite.addNewGroupAt(1);
//通过id获取对应的组
let groupSame: SXTrackGroup = composite.getGroup(group.getGroupId());
//通过id删除组,如果组内存在轨道则会移除所有轨道,但不会删除轨道
composite.deleteGroup(group.getGroupId());
//移动一个组到指定的位置,-1代表末尾,组查找失败或索引越界则会失败
composite.moveGroupTo(groupAnother, -1);
//获取所有的组,不包含主轨道
let groups: SXTrackGroup[] = composite.getGroups();