扫一扫咨询方案
English
中文
English
登录/注册

{user.username}

ID: {user.id}

剪辑 SDK 文档

SDK > iOS SDK > iOS API 参考 > SXResource API

SXResource API

更新时间 : 2021-07-21 14:33:17

//
//  SXResource.h
//  SXVideoEnging
//
//  Created by Yin Xie on 2021/4/13.
//  Copyright © 2021 Zhiqiang Li. All rights reserved.
//

**import** `<Foundation/Foundation.h>`
**import** "SXEditPublic.h"
NS_ASSUME_NONNULL_BEGIN

**pragma mark** - SXResourceDelegate
@class SXResource;
@protocol SXResourceDelegate <NSObject>

/**
* 设置资源
* @param resource 资源对象
* @return 设置成功返回true,否则返回false
*/
- (BOOL)setResource:(SXResource *)resource;

/**
* 获取资源
* @return 获取当前的资源
*/
- (SXResource *)getResource;

@end

typedef enum : NSUInteger {
    SXResourceTypeUnknown,
    SXResourceTypeTexture,
    SXResourceTypeComposite,
    SXResourceTypeAudioFile,             // 音频文件或有音轨的视频文件
    SXResourceTypeMediaFile,             // 媒体文件包(图片或视频)
    SXResourceTypeSticker,               // 贴纸包
    SXResourceTypeTextStyle,             // 文字样式(与SXEffect类型对应)
    SXResourceTypeTextBubble,            // 文字气泡(与SXEffect类型对应)
    SXResourceTypeTextAnimation,         // 文字动画(与SXEffect类型对应)
    SXResourceTypeFilter,                // 滤镜(与SXEffect类型对应)
    SXResourceTypeTransition,            // 转场(与SXEffect类型对应)
    SXResourceTypeAnimation,             // 视频动画(与SXEffect类型对应)
    SXResourceTypeVideoEffect,           // 视频特效(与SXEffect类型对应)
    SXResourceTypeTrackAnimation         // 轨道动画(与SXEffect类型对应)
}SXResourceType;

typedef enum : NSUInteger {
    SXFileTypeUnknownFile,
    SXFileTypePackage,
    SXFileTypeAudio,
    SXFileTypeVideo,
    SXFileTypeImage,
    SXFileTypeGif,
    SXFileTypeVideoSequence
}SXFileType;

@class SXComposite;
@interface SXResource : NSObject <SXEditAttributeDelegate>

/**
* 初始化资源
* @param type 资源类型
* @param path 资源路径
*/
- (instancetype)initWithType:(SXResourceType)type path:(NSString *)path;

/**
* 初始化资源
* @param composite 合成对象
*/
- (instancetype)initWithComposite:(SXComposite *)composite;

/**
* 资源绝对路径,kPackage类型资源为资源包主文件夹路径
* @return 绝对路径
*/
- (NSString *)resourcePath;

/**
* 获取资源类型,不同资源有不同的属性
* @return 资源类型
*/
- (SXResourceType)resourceType;

/**
* 资源是否有效
* @return 资源无效返回false
*/
- (BOOL)isValid;

/**
* 获取宽度
* @return 宽度
*/
- (int)width;

/**
* 获取高度
* @return 高度
*/
- (int)height;

/**
* 获取时长
* @return 单位为秒
*/
- (double)duration;

/**
* 获取文件类型
* @return 文件类型
*/
- (SXFileType)fileType;
/**
* 资源包的id,资源包带有唯一id,仅kPackage类型资源有效
* @return 资源id
*/
- (NSString *)packageUUid;
/**
* 资源描述,kPackage类型的文件一般会带有描述信息
* @return 描述信息
*/
- (NSString *)description;

//音频相关
/**
* 获取音频采样率
* @return 采样率,单位Hz
*/
- (double)sampleRate;
/**
* 获取音频声道数
* @return 声道数
*/
- (unsigned int)channels;

//合成相关
- (NSString *)compositeId;

@end

NS_ASSUME_NONNULL_END