扫一扫咨询方案
首页
登录/注册

{user.username}

ID: {user.id}

剪辑 SDK 文档

  • 云渲染

    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK

    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK

    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程

    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程

    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南
首页 > SDK > iOS SDK > iOS API 参考 > SXTrackGroup API

SXTrackGroup API

更新时间 : 2021-11-19 13:38:16

//
//  SXTrackGroup.h
//  SXVideoEnging
//
//  Created by Yin Xie on 2020/3/31.
//  Copyright © 2020 Zhiqiang Li. All rights reserved.
//

import <Foundation/Foundation.h>
import "SXTrack.h"
NS_ASSUME_NONNULL_BEGIN

/**
* 轨道组,可以包含多个轨道
* @warning 注意所有的对象对比是否相等时请使用id对比,引用可能会不同
*/
@interface SXTrackGroup : NSObject<SXEditAttributeDelegate>

/**
* 在组的某个时间添加一个轨道,如无法容纳此轨道返回false
* @param track 轨道
* @param time 轨道的开始显示时间,等价于修改轨道displayTime
* @return 添加成功返回true,失败返回false
*/
- (BOOL)addTrack:(SXTrack *)track displayTime:(double)time;


/**
* 从组中移除一个轨道
* @param trackId 轨道唯一id
* @return 如组内有此轨道返回true,无此轨道返回false
*/
- (BOOL)removeTrack:(NSString *)trackId;


/**
* 清空组内所有轨道
*/
- (void)clearTracks;

/**
* 通过id查找组中此轨道所在的下一个轨道
* @param trackId 轨道唯一id
* @return 查找成功返回轨道实例对象,否则返回nullptr
*/
- (SXTrack *)findNextTrack:(NSString *)trackId;


/**
* 通过id查找组中此轨道所在的上一轨道
* @param trackId 轨道唯一id
* @return 查找成功返回轨道实例对象,否则返回nullptr
*/
- (SXTrack *)findPreviousTrack:(NSString *)trackId;


/**
* 通过id查找组内的轨道
* @param trackId 轨道唯一id
* @return 查找成功返回轨道实例对象,否则返回nullptr
*/
- (SXTrack *)track:(NSString *)trackId;


/**
* displayTime   track     split time     new track    out point
*  |-----------------------|--------------------------|
* ----------------------------------------------------------------------
* 拆分轨道,拆分后的轨道附加效果会被移除或者缩短时间,请重新获取相关数据
* @note 拆分后的新轨道会自动加入此组中
* @param trackId 轨道唯一id
* @param time 相对于轨道自身displayTime拆分时间点
* @return 查找轨道失败或拆分时间不在轨道显示范围内返回nullptr,否则返回轨道实例对象
*/
- (SXTrack *)splitTrack:(NSString *)trackId time:(double)time;

/**
* 按开始显示时间首尾相接顺序排列轨道,音频轨道除外
* @note 重排轨道会引起轨道显示时间区间及轨道顺序的变化,轨道顺序会按显示时间重新排序, 若时间相同按照添加的先后顺序排序
* @note process_transition为true时前一个轨道有转场时,轨道将自动交叉到转场开始处,
* 后一个轨道时长不足转场时长时,交叉时长为后一个轨道时长
* @param processTransition 是否处理转场交叉
*/
- (void)arrangeTracks:(BOOL)processTransition;

/**
* 获取组中轨道的最大结束时间
* @return 轨道的最大结束时间
*/
- (double)duration;

/**
* 获取所有轨道
* @return 轨道链表
*/
- (NSArray *)tracks;

/**
* 轨道唯一id
* @return id
*/
- (NSString *)getGroupId;

@end

NS_ASSUME_NONNULL_END
首页 > SDK > iOS SDK > iOS API 参考 > SXTrackGroup API
SXTrackGroup API
更新时间 : 2021-11-19 13:38:16
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南
//
//  SXTrackGroup.h
//  SXVideoEnging
//
//  Created by Yin Xie on 2020/3/31.
//  Copyright © 2020 Zhiqiang Li. All rights reserved.
//

import <Foundation/Foundation.h>
import "SXTrack.h"
NS_ASSUME_NONNULL_BEGIN

/**
* 轨道组,可以包含多个轨道
* @warning 注意所有的对象对比是否相等时请使用id对比,引用可能会不同
*/
@interface SXTrackGroup : NSObject<SXEditAttributeDelegate>

/**
* 在组的某个时间添加一个轨道,如无法容纳此轨道返回false
* @param track 轨道
* @param time 轨道的开始显示时间,等价于修改轨道displayTime
* @return 添加成功返回true,失败返回false
*/
- (BOOL)addTrack:(SXTrack *)track displayTime:(double)time;


/**
* 从组中移除一个轨道
* @param trackId 轨道唯一id
* @return 如组内有此轨道返回true,无此轨道返回false
*/
- (BOOL)removeTrack:(NSString *)trackId;


/**
* 清空组内所有轨道
*/
- (void)clearTracks;

/**
* 通过id查找组中此轨道所在的下一个轨道
* @param trackId 轨道唯一id
* @return 查找成功返回轨道实例对象,否则返回nullptr
*/
- (SXTrack *)findNextTrack:(NSString *)trackId;


/**
* 通过id查找组中此轨道所在的上一轨道
* @param trackId 轨道唯一id
* @return 查找成功返回轨道实例对象,否则返回nullptr
*/
- (SXTrack *)findPreviousTrack:(NSString *)trackId;


/**
* 通过id查找组内的轨道
* @param trackId 轨道唯一id
* @return 查找成功返回轨道实例对象,否则返回nullptr
*/
- (SXTrack *)track:(NSString *)trackId;


/**
* displayTime   track     split time     new track    out point
*  |-----------------------|--------------------------|
* ----------------------------------------------------------------------
* 拆分轨道,拆分后的轨道附加效果会被移除或者缩短时间,请重新获取相关数据
* @note 拆分后的新轨道会自动加入此组中
* @param trackId 轨道唯一id
* @param time 相对于轨道自身displayTime拆分时间点
* @return 查找轨道失败或拆分时间不在轨道显示范围内返回nullptr,否则返回轨道实例对象
*/
- (SXTrack *)splitTrack:(NSString *)trackId time:(double)time;

/**
* 按开始显示时间首尾相接顺序排列轨道,音频轨道除外
* @note 重排轨道会引起轨道显示时间区间及轨道顺序的变化,轨道顺序会按显示时间重新排序, 若时间相同按照添加的先后顺序排序
* @note process_transition为true时前一个轨道有转场时,轨道将自动交叉到转场开始处,
* 后一个轨道时长不足转场时长时,交叉时长为后一个轨道时长
* @param processTransition 是否处理转场交叉
*/
- (void)arrangeTracks:(BOOL)processTransition;

/**
* 获取组中轨道的最大结束时间
* @return 轨道的最大结束时间
*/
- (double)duration;

/**
* 获取所有轨道
* @return 轨道链表
*/
- (NSArray *)tracks;

/**
* 轨道唯一id
* @return id
*/
- (NSString *)getGroupId;

@end

NS_ASSUME_NONNULL_END