QNTrackInfo
QNTrackInfo
用于描述本地/远端发布/订阅的 Track 的相关信息。更多关于 Track 的介绍可点此查阅。
属性
trackId
定义
@property (nonatomic, strong) NSString *trackId;
说明
一路 Track 在 Server 端的唯一标识。发布成功时由 SDK 自动生成,订阅/Mute 等操作依据此 trackId
来确定相应的 Track。
kind
定义
@property (nonatomic, readonly) QNTrackKind kind;
说明
标识该路 Track 是音频还是视频,发布时由 SDK 根据 sourceType
确定。
master
定义
@property (nonatomic, assign, getter=isMaster) BOOL master;
说明
该属性默认为 NO。该属性为 YES 时该 Track 可以被 v1.x 版本的 SDK 识别和订阅。对于音频/视频 Track,分别最多只能有一路为 master。
muted
定义
@property (nonatomic, assign) BOOL muted;
说明
对于本地 Track,可以将 muted 置为 YES 同时并调用 - (void)muteTracks:(NSArray<QNTrackInfo *> *)tracks
来 mute 本地发布的 Track。
对于远端的 Track,muted
属性标识该 Track 的状态。
tag
定义
@property (nonatomic, strong) NSString *tag;
说明
Track 的 tag,SDK 会将其透传到远端,当发布多路视频 Track 时可用 tag 来作区分。如果不需要使用可置空。
subConfigurations
定义
@property (nonatomic, strong) NSMutableArray<QNTrackSubConfiguration *> *subConfigurations;
说明
订阅大小流的 QNTrackSubConfiguration 配置,在开启大小流即 multiStreamEnable
为 YES 时有效。
master
定义
@property (nonatomic, assign) BOOL multiStreamEnable;
说明
发布是否开启大小流,默认是关闭的。
方法
setMaintainResolutionEnabled:
定义
- (void)setMaintainResolutionEnabled:(BOOL)enabled;
参数
状态 | 说明 |
---|---|
enabled | 是否固定分辨率 |
说明
对于 sourceType 为 QNRTCSourceTypeScreenRecorder 的视频 Track,该选项为 YES,即会使用固定的分辨率。对于其它 sourceType,默认为 NO。需在该 Track 被发布前设置,否则无效。仅对视频 Track 有效,音频 Track 忽略该设置。
initWithSourceType:
定义
- (instancetype)initWithSourceType:(QNRTCSourceType)sourceType;
参数
状态 | 说明 |
---|---|
sourceType | 数据源的类型 |
说明
初始化指定 sourceType 的 TrackInfo, master 属性默认为 NO,若为视频 Track,默认码率为 600kbps,若为音频 Track,默认码率为 64kbps,视频编码尺寸根据输入的视频帧来确定。
initWithSourceType:master:
定义
- (instancetype)initWithSourceType:(QNRTCSourceType)sourceType master:(BOOL)master;
参数
状态 | 说明 |
---|---|
sourceType | 数据源的类型 |
master | 是否为 master |
说明
初始化指定 sourceType、master 参数的 TrackInfo, 若为视频 Track,码率为 600kbps,若为音频 Track,码率为 64kbps,视频编码尺寸根据输入的视频帧来确定。
initWithSourceType:master:bitrateBps:
定义
- (instancetype)initWithSourceType:(QNRTCSourceType)sourceType
master:(BOOL)master
bitrateBps:(NSUInteger)bitrateBps;
参数
状态 | 说明 |
---|---|
sourceType | 数据源的类型 |
master | 是否为 master |
bitrateBps | 码率 |
说明
初始化指定 sourceType、master、videoEncodeSize 参数的 TrackInfo,视频编码尺寸根据输入的视频帧来确定。
initWithSourceType:master:videoEncodeSize:
定义
- (instancetype)initWithSourceType:(QNRTCSourceType)sourceType
master:(BOOL)master
videoEncodeSize:(CGSize)videoEncodeSize;
参数
状态 | 说明 |
---|---|
sourceType | 数据源的类型 |
master | 是否为 master |
videoEncodeSize | 编码分辨率 |
说明
初始化指定 sourceType、master、videoEncodeSize 参数的 TrackInfo。一般用于初始化视频 Track,默认码率为 600kbps。
initWithSourceType:master:bitrateBps:videoEncodeSize:
定义
- (instancetype)initWithSourceType:(QNRTCSourceType)sourceType
master:(BOOL)master
bitrateBps:(NSUInteger)bitrateBps
videoEncodeSize:(CGSize)videoEncodeSize;
参数
状态 | 说明 |
---|---|
sourceType | 数据源的类型 |
master | 是否为 master |
bitrateBps | 码率 |
videoEncodeSize | 编码分辨率 |
说明
初始化指定 sourceType、master、bitrateBps、videoEncodeSize 参数的 TrackInfo。
initWithSourceType:tag:master:bitrateBps:videoEncodeSize:
定义
- (instancetype)initWithSourceType:(QNRTCSourceType)sourceType
tag:(NSString *)tag
master:(BOOL)master
bitrateBps:(NSUInteger)bitrateBps
videoEncodeSize:(CGSize)videoEncodeSize;
参数
状态 | 说明 |
---|---|
sourceType | 数据源的类型 |
tag | track 的标识 |
master | 是否为 master |
bitrateBps | 码率 |
videoEncodeSize | 编码分辨率 |
说明
初始化指定 sourceType、tag、master、bitrateBps、videoEncodeSize 参数的 TrackInfo。