Package com.shixing.sxedit
Class SXComposite
- java.lang.Object
-
- com.shixing.sxedit.SXComposite
-
- All Implemented Interfaces:
SXBase
public class SXComposite extends java.lang.Object
合成
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SXTrackGroup
addNewGroup()
组是顺序存储的,在末尾追加一个组SXTrackGroup
addNewGroupAt(int index)
组是顺序存储的,因此可以在index所在的位置插入一个组void
clearField()
SXTrack
cloneTrack(java.lang.String trackId)
通过轨道id复制一个新的轨道SXAudioTrack
createAudioTrack(java.lang.String sourcePath, double duration)
创建音频轨道SXMediaTrack
createMediaTrack(java.lang.String sourcePath)
创建媒体轨道,接受视频和图片素材SXStickerTrack
createStickerTrack(java.lang.String sourcePath, double duration)
创建贴纸轨道SXTextTrack
createTextTrack(double duration)
创建文字轨道void
deleteGroup(java.lang.String groupId)
通过id删除组,如果组内存在轨道则会移除所有轨道,但不会删除轨道void
deleteTrack(java.lang.String trackId)
通过轨道id删除一个轨道java.lang.String
getCompositeId()
获取合成 Iddouble
getContentMaxTime(boolean excludeAudio)
获取合成中轨道的最大结束时间double
getDuration()
合成时长java.lang.String
getField(java.lang.String key)
java.util.Map<java.lang.String,java.lang.String>
getFields()
double
getFps()
合成帧率long
getFrames()
合成帧数SXTrackGroup
getGroup(java.lang.String groupId)
通过id获取对应的组long
getNativeEditManager()
Size
getSize()
获取合成尺寸SXTrack
getTrack(java.lang.String trackId)
通过轨道id 获取轨道SXTrackGroup[]
groups()
获取所有的组,不包含主轨道SXTrack
hitTest(PointF point)
SXTrack
hitTest(PointF point, int type)
void
moveGroupTo(java.lang.String groupId, int index)
移动一个组到指定的位置void
removeField(java.lang.String key)
void
setField(java.lang.String key, java.lang.String value)
-
-
-
Method Detail
-
getCompositeId
public java.lang.String getCompositeId()
获取合成 Id- Returns:
- String 合成ID
-
getSize
public Size getSize()
获取合成尺寸- Returns:
- Size, 大小
-
getFps
public double getFps()
合成帧率- Returns:
- 帧率
-
getDuration
public double getDuration()
合成时长- Returns:
- 时长单位为秒
-
getFrames
public long getFrames()
合成帧数- Returns:
- 帧数
-
getContentMaxTime
public double getContentMaxTime(boolean excludeAudio)
获取合成中轨道的最大结束时间- Parameters:
excludeAudio
- 是否排除音频时长- Returns:
- 轨道的最大结束时间
-
getGroup
public SXTrackGroup getGroup(java.lang.String groupId)
通过id获取对应的组- Parameters:
groupId
- 组的uuid- Returns:
- 组的实例对象,不存在对应的组时返回nullptr
-
addNewGroup
public SXTrackGroup addNewGroup()
组是顺序存储的,在末尾追加一个组- Returns:
- 新组的实例对象
-
addNewGroupAt
public SXTrackGroup addNewGroupAt(int index)
组是顺序存储的,因此可以在index所在的位置插入一个组- Parameters:
index
- 位置的索引,index超出数组个数或小于0时添加到末尾- Returns:
- 新组的实例对象
-
deleteGroup
public void deleteGroup(java.lang.String groupId)
通过id删除组,如果组内存在轨道则会移除所有轨道,但不会删除轨道- Parameters:
groupId
- 组 id
-
groups
public SXTrackGroup[] groups()
获取所有的组,不包含主轨道- Returns:
- 顺序存储的所有组
-
moveGroupTo
public void moveGroupTo(java.lang.String groupId, int index)
移动一个组到指定的位置- Parameters:
groupId
- 组的idindex
- 组新的位置
-
createMediaTrack
public SXMediaTrack createMediaTrack(java.lang.String sourcePath)
创建媒体轨道,接受视频和图片素材图片轨道时长默认时长为3秒,其他素材使用素材自身时长
- Parameters:
sourcePath
- 资源路径- Returns:
- 失败返回null
-
createStickerTrack
public SXStickerTrack createStickerTrack(java.lang.String sourcePath, double duration)
创建贴纸轨道贴纸轨道时长默认使用贴纸包自身时长
- Parameters:
sourcePath
- 资源duration
- 时长, 单位: 秒- Returns:
- 失败返回nullptr
-
createTextTrack
public SXTextTrack createTextTrack(double duration)
创建文字轨道- Parameters:
duration
- 持续时长,文字轨道必须指定时长, 单位: 秒- Returns:
- 失败返回nullptr
-
createAudioTrack
public SXAudioTrack createAudioTrack(java.lang.String sourcePath, double duration)
创建音频轨道音频轨道时长默认使用音频自身时长
- Parameters:
sourcePath
- 音频资源路径duration
- 时长, 单位: 秒, 传 0 表示使用资源自身的时长- Returns:
- 失败返回nullptr
-
deleteTrack
public void deleteTrack(java.lang.String trackId)
通过轨道id删除一个轨道1. 建议在删除前先从组中移除此轨道
- Parameters:
trackId
- 轨道id
-
cloneTrack
public SXTrack cloneTrack(java.lang.String trackId)
通过轨道id复制一个新的轨道- Parameters:
trackId
- 轨道id- Returns:
- 新的轨道,复制失败时返回 null
-
getTrack
public SXTrack getTrack(java.lang.String trackId)
通过轨道id 获取轨道- Parameters:
trackId
- 轨道id- Returns:
- 轨道,失败时返回 null
-
getNativeEditManager
public long getNativeEditManager()
-
setField
public void setField(java.lang.String key, java.lang.String value)
-
getField
public java.lang.String getField(java.lang.String key)
-
removeField
public void removeField(java.lang.String key)
- Specified by:
removeField
in interfaceSXBase
-
clearField
public void clearField()
- Specified by:
clearField
in interfaceSXBase
-
-