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, SX_TRACK_TYPE_UNKNOWN
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SXAnimationEffectaddAnimation(java.lang.String animationPath, double duration, int index)添加视频动画,时间处理方式为伸缩(相当于调整倍速)SXAnimationEffectaddAnimationByCopy(SXAnimationEffect effect, int index)复制现有视频动画并添加SXFilterEffectaddFilter(java.lang.String filterPath, double duration, int index)添加滤镜,时间处理方式为伸缩(相当于调整倍速)SXFilterEffectaddFilterByCopy(SXFilterEffect effect, int index)复制现有滤镜并添加SXGenericEffectaddGenericEffect(SXGenericEffectType type, double duration, int index)添加内置特效SXGenericEffectaddGenericEffectByCopy(SXGenericEffect effect, int index)复制现有特效,并添加SXTrackAnimationEffectaddTrackAnimation(java.lang.String trackAnimationPath, double duration, int index)添加轨道动画 动画时间线不能重叠,入场/出场动画不能与循环动画共存,否则添加失败SXTrackAnimationEffectaddTrackAnimationByCopy(SXTrackAnimationEffect effect, int index)复制当前轨道动画, 并添加SXVideoEffectaddVideoEffect(java.lang.String videoEffectPath, double duration, int index)添加视频特效,时间处理方式为重复(超出时间自动循环)SXVideoEffectaddVideoEffectByCopy(SXVideoEffect effect, int index)通过复制已有的effect添加视频特效voidfitToComposite(boolean coverAll, int margin)轨道自适应到当前Context,会改变轨道的变换矩阵SXAnimationEffectgetAnimation(java.lang.String animationId)通过ID获取一个滤镜java.util.List<SXAnimationEffect>getAnimations()获取所有视频动画SXFilterEffectgetFilter(java.lang.String filterId)通过ID获取一个滤镜java.util.List<SXFilterEffect>getFilters()获取所有滤镜SXGenericEffectgetGenericEffect(java.lang.String effectId)获取内置特效java.util.List<SXGenericEffect>getGenericEffects()获取所有内置特效intgetNumAnimations()获取当前视频动画数intgetNumFilters()获取滤镜数目intgetNumGenericEffects()获取内置特效数intgetNumTrackAnimations()获取轨道动画数intgetNumVideoEffects()获取视频特效数floatgetOpacity()获取不透明度float[]getPosition()获取变换矩阵的位置值floatgetRotation()获取变换矩阵的旋转值float[]getScale()获取变换矩阵的缩放值SXTrackAnimationEffectgetTrackAnimation(java.lang.String effectId)获取轨道动画java.util.List<SXTrackAnimationEffect>getTrackAnimations()获取所有轨道动画float[]getTransform()获取轨道的变换矩阵SXVideoEffectgetVideoEffect(java.lang.String videoEffectId)获取视频特效java.util.List<SXVideoEffect>getVideoEffects()获取所有视频特效booleanisHorizontalFlip()轨道是否横向翻转booleanisVerticalFlip()轨道是否纵向翻转booleanremoveAnimation(java.lang.String animationId)移除视频动画booleanremoveFilter(java.lang.String filterId)通过ID移除一个滤镜booleanremoveGenericEffect(java.lang.String effectId)删除内置特效booleanremoveTrackAnimation(java.lang.String trackAnimationId)移除轨道动画booleanremoveVideoEffect(java.lang.String videoEffectId)移除视频特效voidsetHorizontalFlip(boolean horizontalFlip)设置横向翻转voidsetOpacity(float opacity)设置轨道的不透明度,范围为[0, 1],0表示全透明,1表示不透明voidsetPosition(float[] point)设置变换矩阵的位置值voidsetRotation(float rotation)设置变换矩阵的旋转值voidsetScale(float scaleX, float scaleY)设置变换矩阵的缩放值voidsetTransform(float[] transform)设置轨道的变换矩阵voidsetVerticalFlip(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:
addFilterin interfaceSXFilterDelegate- Parameters:
filterPath- 滤镜资源路径- Returns:
- 滤镜对象,失败返回null
-
addFilterByCopy
public SXFilterEffect addFilterByCopy(SXFilterEffect effect, int index)
Description copied from interface:SXFilterDelegate复制现有滤镜并添加- Specified by:
addFilterByCopyin interfaceSXFilterDelegate- Parameters:
effect- 要复制的滤镜- Returns:
- 新的滤镜对象,失败返回null
-
removeFilter
public boolean removeFilter(java.lang.String filterId)
Description copied from interface:SXFilterDelegate通过ID移除一个滤镜- Specified by:
removeFilterin interfaceSXFilterDelegate- Parameters:
filterId- 要移除的滤镜ID- Returns:
- 删除成功返回true,未找到滤镜返回false
-
getFilter
public SXFilterEffect getFilter(java.lang.String filterId)
Description copied from interface:SXFilterDelegate通过ID获取一个滤镜- Specified by:
getFilterin interfaceSXFilterDelegate- Parameters:
filterId- 滤镜ID- Returns:
- SXFilterEffect
-
getFilters
public java.util.List<SXFilterEffect> getFilters()
Description copied from interface:SXFilterDelegate获取所有滤镜- Specified by:
getFiltersin interfaceSXFilterDelegate- Returns:
- 滤镜对象的List集合
-
getNumFilters
public int getNumFilters()
Description copied from interface:SXFilterDelegate获取滤镜数目- Specified by:
getNumFiltersin interfaceSXFilterDelegate- Returns:
- int
-
addAnimation
public SXAnimationEffect addAnimation(java.lang.String animationPath, double duration, int index)
Description copied from interface:SXAnimationDelegate添加视频动画,时间处理方式为伸缩(相当于调整倍速)- Specified by:
addAnimationin interfaceSXAnimationDelegate- Parameters:
animationPath- 视频动画资源路径- Returns:
- 视频动画对象,失败返回null
-
addAnimationByCopy
public SXAnimationEffect addAnimationByCopy(SXAnimationEffect effect, int index)
Description copied from interface:SXAnimationDelegate复制现有视频动画并添加- Specified by:
addAnimationByCopyin interfaceSXAnimationDelegate- Parameters:
effect- 要复制的视频动画对象- Returns:
- 新的视频动画对象,失败返回null
-
removeAnimation
public boolean removeAnimation(java.lang.String animationId)
Description copied from interface:SXAnimationDelegate移除视频动画- Specified by:
removeAnimationin interfaceSXAnimationDelegate- Parameters:
animationId- 视频动画ID- Returns:
- 删除成功返回true,否则返回false
-
getAnimation
public SXAnimationEffect getAnimation(java.lang.String animationId)
Description copied from interface:SXAnimationDelegate通过ID获取一个滤镜- Specified by:
getAnimationin interfaceSXAnimationDelegate- Parameters:
animationId- 视频动画ID- Returns:
- SXAnimationEffect
-
getAnimations
public java.util.List<SXAnimationEffect> getAnimations()
Description copied from interface:SXAnimationDelegate获取所有视频动画- Specified by:
getAnimationsin interfaceSXAnimationDelegate- Returns:
- 视频动画List集合
-
getNumAnimations
public int getNumAnimations()
Description copied from interface:SXAnimationDelegate获取当前视频动画数- Specified by:
getNumAnimationsin interfaceSXAnimationDelegate- Returns:
- int
-
addGenericEffect
public SXGenericEffect addGenericEffect(SXGenericEffectType type, double duration, int index)
Description copied from interface:SXGenericEffectDelegate添加内置特效- Specified by:
addGenericEffectin interfaceSXGenericEffectDelegate- Parameters:
type- , 内置特效类型- Returns:
- 内置特效对象,失败返回 null
-
addGenericEffectByCopy
public SXGenericEffect addGenericEffectByCopy(SXGenericEffect effect, int index)
Description copied from interface:SXGenericEffectDelegate复制现有特效,并添加- Specified by:
addGenericEffectByCopyin interfaceSXGenericEffectDelegate
-
removeGenericEffect
public boolean removeGenericEffect(java.lang.String effectId)
Description copied from interface:SXGenericEffectDelegate删除内置特效- Specified by:
removeGenericEffectin interfaceSXGenericEffectDelegate- Parameters:
effectId- , 内置特效 id- Returns:
- boolean
-
getGenericEffect
public SXGenericEffect getGenericEffect(java.lang.String effectId)
Description copied from interface:SXGenericEffectDelegate获取内置特效- Specified by:
getGenericEffectin interfaceSXGenericEffectDelegate- Returns:
- SXGenerigEffect
-
getGenericEffects
public java.util.List<SXGenericEffect> getGenericEffects()
Description copied from interface:SXGenericEffectDelegate获取所有内置特效- Specified by:
getGenericEffectsin interfaceSXGenericEffectDelegate- Returns:
- 视内置特效List集合
-
getNumGenericEffects
public int getNumGenericEffects()
Description copied from interface:SXGenericEffectDelegate获取内置特效数- Specified by:
getNumGenericEffectsin interfaceSXGenericEffectDelegate- Returns:
- int
-
addTrackAnimation
public SXTrackAnimationEffect addTrackAnimation(java.lang.String trackAnimationPath, double duration, int index)
Description copied from interface:SXTrackAnimationDelegate添加轨道动画 动画时间线不能重叠,入场/出场动画不能与循环动画共存,否则添加失败- Specified by:
addTrackAnimationin interfaceSXTrackAnimationDelegate- Parameters:
trackAnimationPath- 轨道动画资源路径- Returns:
- 轨道动画对象,失败返回null
-
addTrackAnimationByCopy
public SXTrackAnimationEffect addTrackAnimationByCopy(SXTrackAnimationEffect effect, int index)
Description copied from interface:SXTrackAnimationDelegate复制当前轨道动画, 并添加- Specified by:
addTrackAnimationByCopyin interfaceSXTrackAnimationDelegate- Parameters:
effect- , 轨道动画- Returns:
- SXTrackAnimationEffect
-
removeTrackAnimation
public boolean removeTrackAnimation(java.lang.String trackAnimationId)
Description copied from interface:SXTrackAnimationDelegate移除轨道动画- Specified by:
removeTrackAnimationin interfaceSXTrackAnimationDelegate- Parameters:
trackAnimationId- 轨道动画ID
-
getTrackAnimation
public SXTrackAnimationEffect getTrackAnimation(java.lang.String effectId)
Description copied from interface:SXTrackAnimationDelegate获取轨道动画- Specified by:
getTrackAnimationin interfaceSXTrackAnimationDelegate- Returns:
- SXTrackAnimationEffect
-
getTrackAnimations
public java.util.List<SXTrackAnimationEffect> getTrackAnimations()
Description copied from interface:SXTrackAnimationDelegate获取所有轨道动画- Specified by:
getTrackAnimationsin interfaceSXTrackAnimationDelegate- Returns:
- 轨道动画List集合
-
getNumTrackAnimations
public int getNumTrackAnimations()
Description copied from interface:SXTrackAnimationDelegate获取轨道动画数- Specified by:
getNumTrackAnimationsin interfaceSXTrackAnimationDelegate- Returns:
- int
-
addVideoEffect
public SXVideoEffect addVideoEffect(java.lang.String videoEffectPath, double duration, int index)
Description copied from interface:SXVideoEffectDelegate添加视频特效,时间处理方式为重复(超出时间自动循环)- Specified by:
addVideoEffectin interfaceSXVideoEffectDelegate- Parameters:
videoEffectPath- 资源路径- Returns:
- 视频特效对象,失败返回null
-
addVideoEffectByCopy
public SXVideoEffect addVideoEffectByCopy(SXVideoEffect effect, int index)
Description copied from interface:SXVideoEffectDelegate通过复制已有的effect添加视频特效- Specified by:
addVideoEffectByCopyin interfaceSXVideoEffectDelegate- Parameters:
effect- 要复制的对象- Returns:
- 新的视频特效对象,失败返回null
-
removeVideoEffect
public boolean removeVideoEffect(java.lang.String videoEffectId)
Description copied from interface:SXVideoEffectDelegate移除视频特效- Specified by:
removeVideoEffectin interfaceSXVideoEffectDelegate- Parameters:
videoEffectId- 视频特效ID- Returns:
- 移除成功返回true,否则返回false
-
getVideoEffect
public SXVideoEffect getVideoEffect(java.lang.String videoEffectId)
Description copied from interface:SXVideoEffectDelegate获取视频特效- Specified by:
getVideoEffectin interfaceSXVideoEffectDelegate- Parameters:
videoEffectId- 视频特效ID- Returns:
- SXVideoEffect
-
getVideoEffects
public java.util.List<SXVideoEffect> getVideoEffects()
Description copied from interface:SXVideoEffectDelegate获取所有视频特效- Specified by:
getVideoEffectsin interfaceSXVideoEffectDelegate- Returns:
- 视频特效对象List集合
-
getNumVideoEffects
public int getNumVideoEffects()
Description copied from interface:SXVideoEffectDelegate获取视频特效数- Specified by:
getNumVideoEffectsin interfaceSXVideoEffectDelegate- Returns:
- int
-
-