Class SXEditManager

  • All Implemented Interfaces:
    SXBase

    public class SXEditManager
    extends java.lang.Object
    剪辑管理类
    • Constructor Detail

      • SXEditManager

        public SXEditManager​(SXEditOptions options)
        创建剪辑管理器

        1. 创建时 options 将会被复制, 对当前 options 的修改, 不会重新应用到剪辑管理器 2. 使用完成后, 必须调用 destroy 方式释放

        Parameters:
        options - 剪辑配置信息
      • SXEditManager

        public SXEditManager​(SXEditOptions options,
                             java.lang.String json)
        创建剪辑管理器

        1. 创建时 options 将会被复制, 对当前 options 的修改, 不会重新应用到剪辑管理器 2. 使用完成后, 必须调用 destroy 方式释放

        Parameters:
        options - 配置信息
        json - , toJson 导出的剪辑信息
    • Method Detail

      • destroy

        public void destroy()
        释放创建的 EditManager
      • setLoggerLevel

        public static void setLoggerLevel​(SXLogLevel level)
        设置日志级别, 默认为 SXLogLevel.LOG_INFO
        Parameters:
        level - , SXLogLevel
      • getSize

        public Size getSize()
        获取分辨率大小
        Returns:
        Size, Size
      • getFps

        public double getFps()
        合成帧率
        Returns:
        帧率
      • getGroup

        public SXTrackGroup getGroup​(java.lang.String groupId)
        通过 groupId 获取对应的组
        Parameters:
        groupId - 组Id
        Returns:
        SXTrackGroup
      • addNewGroupAt

        public SXTrackGroup addNewGroupAt​(int index)
        在指定位置添加组
        Parameters:
        index - , 添加的位置, -1 表示追加
        Returns:
        SXTrackGroup
      • deleteGroup

        public void deleteGroup​(java.lang.String groupId)
        通过指定 groupId 删除组

        1. 只会删除组, 不会删除释放组内的 SXTrack

        Parameters:
        groupId - , 组ID
      • getGroups

        public SXTrackGroup[] getGroups()
        获取所有组
        Returns:
        SXTrackGroup[]
      • moveGroupTo

        public void moveGroupTo​(java.lang.String groupId,
                                int index)
        移动指定组到指定位置
        Parameters:
        groupId - , 组 ID
        index - , 移动的目标位置
      • createMediaTrack

        public SXMediaTrack createMediaTrack​(java.lang.String sourcePath)
        通过本地文件路径, 创建媒体轨道,接受视频和图片素材

        1. 图片轨道时长默认时长为3秒,其他素材使用素材自身时长

        Parameters:
        sourcePath - 资源本地路径
        Returns:
        SXMediaTrack
      • createMediaTrackWithResource

        public SXMediaTrack createMediaTrackWithResource​(SXResource resource)
        通过 SXResource, 创建媒体轨道,接受视频和图片素材

        1. 图片轨道时长默认时长为3秒,其他素材使用素材自身时长

        Parameters:
        resource - 资源本地路径
        Returns:
        SXMediaTrack
      • createStickerTrack

        public SXStickerTrack createStickerTrack​(java.lang.String sourcePath,
                                                 double duration)
        通过本地目录路径创建媒体轨道
        Parameters:
        sourcePath - , 资源本地路径
        duration - , 显示时长, 单位: 秒
        Returns:
        SXStickerTrack
      • createTextTrack

        public SXTextTrack createTextTrack​(double duration)
        创建文字轨道
        Parameters:
        duration - , 显示时长, 单位: 秒
        Returns:
        SXTextTrack
      • createAudioTrack

        public SXAudioTrack createAudioTrack​(java.lang.String sourcePath,
                                             double duration)
        通过本地文件路径, 创建媒体轨道,接受视频和音频文件
        Parameters:
        sourcePath - 资源本地路径
        duration - , 持续时长, 单位: 秒
        Returns:
        SXAudioTrack
      • deleteTrack

        public void deleteTrack​(java.lang.String trackId)
        删除指定轨道
        Parameters:
        trackId - , 轨道 ID
      • cloneTrack

        public SXTrack cloneTrack​(java.lang.String trackId)
        复制轨道
        Parameters:
        trackId - , 轨道 ID
        Returns:
        SXTrack
      • getTrack

        public SXTrack getTrack​(java.lang.String trackId)
        获取轨道
        Parameters:
        trackId - , 轨道 ID
        Returns:
        SXTrack
      • createComposite

        public SXComposite createComposite​(int width,
                                           int height,
                                           long frames)
        创建合成
        Parameters:
        width - , 宽, px
        height - , 高, px
        frames - , 总帧数
        Returns:
        SXComposite
      • getComposite

        public SXComposite getComposite​(java.lang.String compositeId)
        通过 id 获取合成
        Parameters:
        compositeId - , 合成 ID
        Returns:
        SXComposite
      • deleteComposite

        public void deleteComposite​(java.lang.String compositeId)
        通过 id 删除合成
        Parameters:
        compositeId - , 合成ID
      • getDuration

        public double getDuration()
        获取总时长
        Returns:
        double, 时长, 单位: 秒
      • setDuration

        public void setDuration​(double duration)
        设置总时长
        Parameters:
        duration - , 时长, 单位: 秒
      • getFrames

        public long getFrames()
        获取总帧数
        Returns:
        long, 帧数
      • getContentMaxTime

        public double getContentMaxTime​(boolean excludeAudio)
        获取最后一个轨道结束的时间
        Parameters:
        excludeAudio - , 是否包含音频轨道
        Returns:
        double, 时长, 单位: 秒
      • setDurationInFrame

        public void setDurationInFrame​(long frames)
        设置总帧数
        Parameters:
        frames - , 帧数
      • setBackgroundColor

        public void setBackgroundColor​(int color)
        设置背景颜色
        Parameters:
        color - , 颜色
      • setBackgroundColor

        public void setBackgroundColor​(float red,
                                       float green,
                                       float blue)
        设置背景颜色 q
        Parameters:
        red - , 红 (0 - 1)
        green - , 绿 (0 - 1)
        blue - , 蓝 (0 - 1)
      • setBackgroundColor

        public void setBackgroundColor​(java.lang.String hexColorString)
        设置背景颜色
        Parameters:
        hexColorString - , 十六进制颜色字符串, 比如 #00FF00, #00FF00FF
      • toJson

        public java.lang.String toJson()
        导出剪辑信息
        Returns:
        json
      • getNativeManager

        public long getNativeManager()
      • loadLibrary

        public static void loadLibrary()
      • setField

        public void setField​(java.lang.String key,
                             java.lang.String value)
        Specified by:
        setField in interface SXBase
      • getField

        public java.lang.String getField​(java.lang.String key)
        Specified by:
        getField in interface SXBase
      • removeField

        public void removeField​(java.lang.String key)
        Specified by:
        removeField in interface SXBase
      • clearField

        public void clearField()
        Specified by:
        clearField in interface SXBase
      • getFields

        public java.util.Map<java.lang.String,​java.lang.String> getFields()
        Specified by:
        getFields in interface SXBase