Package com.shixing.sxedit
Class SXRenderTrack
- java.lang.Object
-
- com.shixing.sxedit.SXTrack
-
- com.shixing.sxedit.SXRenderTrack
-
- All Implemented Interfaces:
SXAnimationDelegate
,SXFilterDelegate
,SXGenericEffectDelegate
,SXTrackAnimationDelegate
,SXVideoEffectDelegate
,java.io.Serializable
- Direct Known Subclasses:
SXMediaTrack
,SXStickerTrack
,SXTextTrack
public class SXRenderTrack extends SXTrack implements SXFilterDelegate, SXAnimationDelegate, SXGenericEffectDelegate, SXTrackAnimationDelegate, SXVideoEffectDelegate
可渲染轨道的基类- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.shixing.sxedit.SXTrack
SX_TRACK_TYPE_AUDIO, SX_TRACK_TYPE_MEDIA, SX_TRACK_TYPE_STICKER, SX_TRACK_TYPE_TEXT
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SXAnimationEffect
addAnimation(java.lang.String animationPath, double duration, int index)
添加视频动画,时间处理方式为伸缩(相当于调整倍速)SXAnimationEffect
addAnimationByCopy(SXAnimationEffect effect, int index)
复制现有视频动画并添加SXFilterEffect
addFilter(java.lang.String filterPath, double duration, int index)
添加滤镜,时间处理方式为伸缩(相当于调整倍速)SXFilterEffect
addFilterByCopy(SXFilterEffect effect, int index)
复制现有滤镜并添加SXGenericEffect
addGenericEffect(SXGenericEffectType type, double duration, int index)
添加内置特效SXGenericEffect
addGenericEffectByCopy(SXGenericEffect effect, int index)
复制现有特效,并添加SXTrackAnimationEffect
addTrackAnimation(java.lang.String trackAnimationPath, double duration, int index)
添加轨道动画 动画时间线不能重叠,入场/出场动画不能与循环动画共存,否则添加失败SXTrackAnimationEffect
addTrackAnimationByCopy(SXTrackAnimationEffect effect, int index)
复制当前轨道动画, 并添加SXVideoEffect
addVideoEffect(java.lang.String videoEffectPath, double duration, int index)
添加视频特效,时间处理方式为重复(超出时间自动循环)SXVideoEffect
addVideoEffectByCopy(SXVideoEffect effect, int index)
通过复制已有的effect添加视频特效void
fitToComposite(boolean coverAll, int margin)
轨道自适应到当前Context,会改变轨道的变换矩阵SXAnimationEffect
getAnimation(java.lang.String animationId)
通过ID获取一个滤镜java.util.List<SXAnimationEffect>
getAnimations()
获取所有视频动画SXFilterEffect
getFilter(java.lang.String filterId)
通过ID获取一个滤镜java.util.List<SXFilterEffect>
getFilters()
获取所有滤镜SXGenericEffect
getGenericEffect(java.lang.String effectId)
获取内置特效java.util.List<SXGenericEffect>
getGenericEffects()
获取所有内置特效int
getNumAnimations()
获取当前视频动画数int
getNumFilters()
获取滤镜数目int
getNumGenericEffects()
获取内置特效数int
getNumTrackAnimations()
获取轨道动画数int
getNumVideoEffects()
获取视频特效数float
getOpacity()
获取不透明度float[]
getPosition()
获取变换矩阵的位置值float
getRotation()
获取变换矩阵的旋转值float[]
getScale()
获取变换矩阵的缩放值SXTrackAnimationEffect
getTrackAnimation(java.lang.String effectId)
获取轨道动画java.util.List<SXTrackAnimationEffect>
getTrackAnimations()
获取所有轨道动画float[]
getTransform()
获取轨道的变换矩阵SXVideoEffect
getVideoEffect(java.lang.String videoEffectId)
获取视频特效java.util.List<SXVideoEffect>
getVideoEffects()
获取所有视频特效boolean
isHorizontalFlip()
轨道是否横向翻转boolean
isVerticalFlip()
轨道是否纵向翻转boolean
removeAnimation(java.lang.String animationId)
移除视频动画boolean
removeFilter(java.lang.String filterId)
通过ID移除一个滤镜boolean
removeGenericEffect(java.lang.String effectId)
删除内置特效boolean
removeTrackAnimation(java.lang.String trackAnimationId)
移除轨道动画boolean
removeVideoEffect(java.lang.String videoEffectId)
移除视频特效void
setHorizontalFlip(boolean horizontalFlip)
设置横向翻转void
setOpacity(float opacity)
设置轨道的不透明度,范围为[0, 1],0表示全透明,1表示不透明void
setPosition(float[] point)
设置变换矩阵的位置值void
setRotation(float rotation)
设置变换矩阵的旋转值void
setScale(float scaleX, float scaleY)
设置变换矩阵的缩放值void
setTransform(float[] transform)
设置轨道的变换矩阵void
setVerticalFlip(boolean verticalFlip)
设置纵向翻转-
Methods inherited from class com.shixing.sxedit.SXTrack
equals, getDisplayTime, getDuration, getGroupId, getOffsetTime, getStartTime, getTrackId, getTrackSize, getType, isEnabled, isLoop, isValid, isVisibleAtTime, moveToTime, setDuration, setEnabled, setLoop, setOffsetTime, setStartTime, toString
-
-
-
-
Method Detail
-
getPosition
public float[] getPosition()
获取变换矩阵的位置值- Returns:
- float[]
-
setPosition
public void setPosition(float[] point)
设置变换矩阵的位置值- Parameters:
point
- 换矩阵的位置值
-
setOpacity
public void setOpacity(float opacity)
设置轨道的不透明度,范围为[0, 1],0表示全透明,1表示不透明- Parameters:
opacity
- 不透明度
-
getOpacity
public float getOpacity()
获取不透明度- Returns:
- 不透明度
-
setRotation
public void setRotation(float rotation)
设置变换矩阵的旋转值- Parameters:
rotation
- 变换矩阵的旋转值
-
getRotation
public float getRotation()
获取变换矩阵的旋转值- Returns:
- 变换矩阵的旋转值
-
setScale
public void setScale(float scaleX, float scaleY)
设置变换矩阵的缩放值- Parameters:
scaleX
- 转换矩阵的 x 缩放值scaleY
- 转换矩阵的 y 缩放值
-
getScale
public float[] getScale()
获取变换矩阵的缩放值- Returns:
- 变换矩阵的缩放值
-
getTransform
public float[] getTransform()
获取轨道的变换矩阵- Returns:
- float[]
-
setTransform
public void setTransform(float[] transform)
设置轨道的变换矩阵- Parameters:
transform
- 变换矩阵
-
fitToComposite
public void fitToComposite(boolean coverAll, int margin)
轨道自适应到当前Context,会改变轨道的变换矩阵- Parameters:
coverAll
- 是否填充满整个画面margin
- 当coverAll为false时,track在整个画面留边边距为margin的范围里适配宽高完整展示
-
setVerticalFlip
public void setVerticalFlip(boolean verticalFlip)
设置纵向翻转- Parameters:
verticalFlip
- true时表示纵向翻转
-
isVerticalFlip
public boolean isVerticalFlip()
轨道是否纵向翻转- Returns:
- 是纵向翻转返回true,否则返回false
-
setHorizontalFlip
public void setHorizontalFlip(boolean horizontalFlip)
设置横向翻转- Parameters:
horizontalFlip
- true时表示横向翻转
-
isHorizontalFlip
public boolean isHorizontalFlip()
轨道是否横向翻转- Returns:
- 是横向翻转返回true,否则返回false
-
addFilter
public SXFilterEffect addFilter(java.lang.String filterPath, double duration, int index)
Description copied from interface:SXFilterDelegate
添加滤镜,时间处理方式为伸缩(相当于调整倍速)- Specified by:
addFilter
in interfaceSXFilterDelegate
- Parameters:
filterPath
- 滤镜资源路径- Returns:
- 滤镜对象,失败返回null
-
addFilterByCopy
public SXFilterEffect addFilterByCopy(SXFilterEffect effect, int index)
Description copied from interface:SXFilterDelegate
复制现有滤镜并添加- Specified by:
addFilterByCopy
in interfaceSXFilterDelegate
- Parameters:
effect
- 要复制的滤镜- Returns:
- 新的滤镜对象,失败返回null
-
removeFilter
public boolean removeFilter(java.lang.String filterId)
Description copied from interface:SXFilterDelegate
通过ID移除一个滤镜- Specified by:
removeFilter
in interfaceSXFilterDelegate
- Parameters:
filterId
- 要移除的滤镜ID- Returns:
- 删除成功返回true,未找到滤镜返回false
-
getFilter
public SXFilterEffect getFilter(java.lang.String filterId)
Description copied from interface:SXFilterDelegate
通过ID获取一个滤镜- Specified by:
getFilter
in interfaceSXFilterDelegate
- Parameters:
filterId
- 滤镜ID- Returns:
- SXFilterEffect
-
getFilters
public java.util.List<SXFilterEffect> getFilters()
Description copied from interface:SXFilterDelegate
获取所有滤镜- Specified by:
getFilters
in interfaceSXFilterDelegate
- Returns:
- 滤镜对象的List集合
-
getNumFilters
public int getNumFilters()
Description copied from interface:SXFilterDelegate
获取滤镜数目- Specified by:
getNumFilters
in interfaceSXFilterDelegate
- Returns:
- int
-
addAnimation
public SXAnimationEffect addAnimation(java.lang.String animationPath, double duration, int index)
Description copied from interface:SXAnimationDelegate
添加视频动画,时间处理方式为伸缩(相当于调整倍速)- Specified by:
addAnimation
in interfaceSXAnimationDelegate
- Parameters:
animationPath
- 视频动画资源路径- Returns:
- 视频动画对象,失败返回null
-
addAnimationByCopy
public SXAnimationEffect addAnimationByCopy(SXAnimationEffect effect, int index)
Description copied from interface:SXAnimationDelegate
复制现有视频动画并添加- Specified by:
addAnimationByCopy
in interfaceSXAnimationDelegate
- Parameters:
effect
- 要复制的视频动画对象- Returns:
- 新的视频动画对象,失败返回null
-
removeAnimation
public boolean removeAnimation(java.lang.String animationId)
Description copied from interface:SXAnimationDelegate
移除视频动画- Specified by:
removeAnimation
in interfaceSXAnimationDelegate
- Parameters:
animationId
- 视频动画ID- Returns:
- 删除成功返回true,否则返回false
-
getAnimation
public SXAnimationEffect getAnimation(java.lang.String animationId)
Description copied from interface:SXAnimationDelegate
通过ID获取一个滤镜- Specified by:
getAnimation
in interfaceSXAnimationDelegate
- Parameters:
animationId
- 视频动画ID- Returns:
- SXAnimationEffect
-
getAnimations
public java.util.List<SXAnimationEffect> getAnimations()
Description copied from interface:SXAnimationDelegate
获取所有视频动画- Specified by:
getAnimations
in interfaceSXAnimationDelegate
- Returns:
- 视频动画List集合
-
getNumAnimations
public int getNumAnimations()
Description copied from interface:SXAnimationDelegate
获取当前视频动画数- Specified by:
getNumAnimations
in interfaceSXAnimationDelegate
- Returns:
- int
-
addGenericEffect
public SXGenericEffect addGenericEffect(SXGenericEffectType type, double duration, int index)
Description copied from interface:SXGenericEffectDelegate
添加内置特效- Specified by:
addGenericEffect
in interfaceSXGenericEffectDelegate
- Parameters:
type
- , 内置特效类型- Returns:
- 内置特效对象,失败返回 null
-
addGenericEffectByCopy
public SXGenericEffect addGenericEffectByCopy(SXGenericEffect effect, int index)
Description copied from interface:SXGenericEffectDelegate
复制现有特效,并添加- Specified by:
addGenericEffectByCopy
in interfaceSXGenericEffectDelegate
-
removeGenericEffect
public boolean removeGenericEffect(java.lang.String effectId)
Description copied from interface:SXGenericEffectDelegate
删除内置特效- Specified by:
removeGenericEffect
in interfaceSXGenericEffectDelegate
- Parameters:
effectId
- , 内置特效 id- Returns:
- boolean
-
getGenericEffect
public SXGenericEffect getGenericEffect(java.lang.String effectId)
Description copied from interface:SXGenericEffectDelegate
获取内置特效- Specified by:
getGenericEffect
in interfaceSXGenericEffectDelegate
- Returns:
- SXGenerigEffect
-
getGenericEffects
public java.util.List<SXGenericEffect> getGenericEffects()
Description copied from interface:SXGenericEffectDelegate
获取所有内置特效- Specified by:
getGenericEffects
in interfaceSXGenericEffectDelegate
- Returns:
- 视内置特效List集合
-
getNumGenericEffects
public int getNumGenericEffects()
Description copied from interface:SXGenericEffectDelegate
获取内置特效数- Specified by:
getNumGenericEffects
in interfaceSXGenericEffectDelegate
- Returns:
- int
-
addTrackAnimation
public SXTrackAnimationEffect addTrackAnimation(java.lang.String trackAnimationPath, double duration, int index)
Description copied from interface:SXTrackAnimationDelegate
添加轨道动画 动画时间线不能重叠,入场/出场动画不能与循环动画共存,否则添加失败- Specified by:
addTrackAnimation
in interfaceSXTrackAnimationDelegate
- Parameters:
trackAnimationPath
- 轨道动画资源路径- Returns:
- 轨道动画对象,失败返回null
-
addTrackAnimationByCopy
public SXTrackAnimationEffect addTrackAnimationByCopy(SXTrackAnimationEffect effect, int index)
Description copied from interface:SXTrackAnimationDelegate
复制当前轨道动画, 并添加- Specified by:
addTrackAnimationByCopy
in interfaceSXTrackAnimationDelegate
- Parameters:
effect
- , 轨道动画- Returns:
- SXTrackAnimationEffect
-
removeTrackAnimation
public boolean removeTrackAnimation(java.lang.String trackAnimationId)
Description copied from interface:SXTrackAnimationDelegate
移除轨道动画- Specified by:
removeTrackAnimation
in interfaceSXTrackAnimationDelegate
- Parameters:
trackAnimationId
- 轨道动画ID
-
getTrackAnimation
public SXTrackAnimationEffect getTrackAnimation(java.lang.String effectId)
Description copied from interface:SXTrackAnimationDelegate
获取轨道动画- Specified by:
getTrackAnimation
in interfaceSXTrackAnimationDelegate
- Returns:
- SXTrackAnimationEffect
-
getTrackAnimations
public java.util.List<SXTrackAnimationEffect> getTrackAnimations()
Description copied from interface:SXTrackAnimationDelegate
获取所有轨道动画- Specified by:
getTrackAnimations
in interfaceSXTrackAnimationDelegate
- Returns:
- 轨道动画List集合
-
getNumTrackAnimations
public int getNumTrackAnimations()
Description copied from interface:SXTrackAnimationDelegate
获取轨道动画数- Specified by:
getNumTrackAnimations
in interfaceSXTrackAnimationDelegate
- Returns:
- int
-
addVideoEffect
public SXVideoEffect addVideoEffect(java.lang.String videoEffectPath, double duration, int index)
Description copied from interface:SXVideoEffectDelegate
添加视频特效,时间处理方式为重复(超出时间自动循环)- Specified by:
addVideoEffect
in interfaceSXVideoEffectDelegate
- Parameters:
videoEffectPath
- 资源路径- Returns:
- 视频特效对象,失败返回null
-
addVideoEffectByCopy
public SXVideoEffect addVideoEffectByCopy(SXVideoEffect effect, int index)
Description copied from interface:SXVideoEffectDelegate
通过复制已有的effect添加视频特效- Specified by:
addVideoEffectByCopy
in interfaceSXVideoEffectDelegate
- Parameters:
effect
- 要复制的对象- Returns:
- 新的视频特效对象,失败返回null
-
removeVideoEffect
public boolean removeVideoEffect(java.lang.String videoEffectId)
Description copied from interface:SXVideoEffectDelegate
移除视频特效- Specified by:
removeVideoEffect
in interfaceSXVideoEffectDelegate
- Parameters:
videoEffectId
- 视频特效ID- Returns:
- 移除成功返回true,否则返回false
-
getVideoEffect
public SXVideoEffect getVideoEffect(java.lang.String videoEffectId)
Description copied from interface:SXVideoEffectDelegate
获取视频特效- Specified by:
getVideoEffect
in interfaceSXVideoEffectDelegate
- Parameters:
videoEffectId
- 视频特效ID- Returns:
- SXVideoEffect
-
getVideoEffects
public java.util.List<SXVideoEffect> getVideoEffects()
Description copied from interface:SXVideoEffectDelegate
获取所有视频特效- Specified by:
getVideoEffects
in interfaceSXVideoEffectDelegate
- Returns:
- 视频特效对象List集合
-
getNumVideoEffects
public int getNumVideoEffects()
Description copied from interface:SXVideoEffectDelegate
获取视频特效数- Specified by:
getNumVideoEffects
in interfaceSXVideoEffectDelegate
- Returns:
- int
-
-