logo
当前页

Class

ZegoAIVoiceChanger

Declared in ZegoExpressDefines.h

方法

getIndex

getIndex
- (int)getIndex;
获取 AI 变声器实例编号。
Declared in ZegoExpressDefines.h

AI 变声器实例编号。

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoAIVoiceChangerEventHandler>) handler;
设置 AI 变声器的事件回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoAIVoiceChangerEventHandler>AI 变声器的事件回调

详情

监听 AI 变声器的事件通知回调。

  • 业务场景:开发者可以根据相关事件回调进行处理。
  • 调用时机:创建 [ZegoAIVoiceChanger] 实例后。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无。
  • 注意事项:调用此函数将覆盖上一次调用此函数设置的回调。

initEngine

initEngine
- (void)initEngine;
初始化 AI 变声引擎。
Declared in ZegoExpressDefines.h

update

update
- (void)update;
更新 AI 变声引擎模型。
Declared in ZegoExpressDefines.h

getSpeakerList

getSpeakerList
- (void)getSpeakerList;
获取 AI 变声音色列表。
Declared in ZegoExpressDefines.h

setSpeaker:

setSpeaker:
- (void)setSpeaker:(int) speakerID;
设置 AI 变声音色。
Declared in ZegoExpressDefines.h
名称类型描述
speakerIDint音色 ID。

ZegoAIVoiceChangerEventHandler

Declared in ZegoExpressEventHandler.h

方法

aiVoiceChanger:onInit

aiVoiceChanger:onInit
- (void)aiVoiceChanger:(ZegoAIVoiceChanger *)aiVoiceChanger onInit:(int)errorCode;
初始化 AI 变声引擎状态回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *回调的 AI 变声器实例。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

初始化 AI 变声引擎状态回调。

  • 通知时机:调用 [init] 函数时会触发此回调。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无。

aiVoiceChanger:onUpdateProgress:fileIndex:fileCount

aiVoiceChanger:onUpdateProgress:fileIndex:fileCount
- (void)aiVoiceChanger:(ZegoAIVoiceChanger *)aiVoiceChanger onUpdateProgress:(double)percent fileIndex:(int)fileIndex fileCount:(int)fileCount;
更新 AI 变声引擎模型进度回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *回调的 AI 变声器实例。
percentdouble当前文件更新进度。
fileIndexint当前更新文件索引。
fileCountint需要更新文件总数。

详情

更新 AI 变声引擎模型进度回调。

  • 通知时机:调用 [update] 函数时会触发此回调。
  • 支持版本:3.12.0 及以上。
  • 使用限制:无。

aiVoiceChanger:onUpdate

aiVoiceChanger:onUpdate
- (void)aiVoiceChanger:(ZegoAIVoiceChanger *)aiVoiceChanger onUpdate:(int)errorCode;
更新 AI 变声引擎模型状态回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *回调的 AI 变声器实例。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

更新 AI 变声引擎模型状态回调。

  • 通知时机:调用 [update] 函数时会触发此回调。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无。

aiVoiceChanger:onGetSpeakerList:speakers

aiVoiceChanger:onGetSpeakerList:speakers
- (void)aiVoiceChanger:(ZegoAIVoiceChanger *)aiVoiceChanger onGetSpeakerList:(int)errorCode speakers:(NSArray<ZegoAIVoiceChangerSpeakerInfo *> *)speakerList;
获取 AI 变声引擎可用音色列表回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *回调的 AI 变声器实例。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
speakerListNSArray<ZegoAIVoiceChangerSpeakerInfo *> *可用音色列表。

详情

获取 AI 变声引擎可用音色列表回调。

  • 通知时机:调用 [getSpeakerList] 函数时会触发此回调。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无。

aiVoiceChanger:onEvent

aiVoiceChanger:onEvent
- (void)aiVoiceChanger:(ZegoAIVoiceChanger *)aiVoiceChanger onEvent:(int)event;
AI 变声事件回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *回调的 AI 变声器实例。
eventZegoAIVoiceChangerEventAI 变声事件。

详情

AI 变声事件回调。

  • 通知时机:AI 变声失败时会触发此回调。
  • 支持版本:3.12.0 及以上。
  • 使用限制:无。

aiVoiceChanger:onSetSpeaker

aiVoiceChanger:onSetSpeaker
- (void)aiVoiceChanger:(ZegoAIVoiceChanger *)aiVoiceChanger onSetSpeaker:(int)errorCode;
设置 AI 变声引擎音色状态回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *回调的 AI 变声器实例。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

设置 AI 变声引擎音色状态回调。

  • 通知时机:调用 [setSpeaker] 函数时会触发此回调。
  • 支持版本:3.12.0 及以上。
  • 使用限制:无。

ZegoAIVoiceChangerSpeakerInfo

AI 变声音色信息。

Declared in ZegoExpressDefines.h

属性

id

id
nonatomic, assign int id

音色 ID。

name

name
nonatomic, copy NSString * name

音色名称。

ZegoAccurateSeekConfig

精准seek的配置

Declared in ZegoExpressDefines.h

属性

timeout

timeout
nonatomic, assign unsigned long long timeout

精确搜索的超时时间;如果不设置, SDK 内部默认是设置 5000 毫秒,有效值区间 [2000, 10000],单位ms

ZegoAudioConfig

推流音频配置

详情

配置推流的音频码率、声道数、音频编码

Declared in ZegoExpressDefines.h

属性

bitrate

bitrate
nonatomic, assign int bitrate

音频码率,单位为 kbps,默认为 48 kbps. 该配置推流前后设置均可生效

channel

channel
nonatomic, assign ZegoAudioChannel channel

音频编码声道,控制编码器编码的声道数。默认为 Mono 单声道。仅在推流前设置生效。

codecID

codecID
nonatomic, assign ZegoAudioCodecID codecID

编码 ID,默认为 ZegoAudioCodecIDDefault。仅在推流前设置生效。

方法

defaultConfig

defaultConfig
- (void)+ (instancetype)defaultConfig;
创建默认音频配置
Declared in ZegoExpressDefines.h

ZegoAudioConfigPresetStandardQuality (48 kbps, Mono, ZegoAudioCodecIDDefault)

ZegoAudioConfig 实例

configWithPreset

configWithPreset
- (void)+ (instancetype)configWithPreset:(ZegoAudioConfigPreset)preset;
通过预设枚举值创建音频配置
Declared in ZegoExpressDefines.h

ZegoAudioConfig 实例

initWithPreset

initWithPreset
- (instancetype)initWithPreset:(ZegoAudioConfigPreset)preset;
通过预设枚举值创建音频配置
Declared in ZegoExpressDefines.h

ZegoAudioConfig 实例

ZegoAudioEffectPlayConfig

音效播放器播放配置

Declared in ZegoExpressDefines.h

属性

playCount

playCount
nonatomic, assign unsigned int playCount

播放次数,当设为 0 时则无限循环播放,直到用户调用 [stop],默认为 1 即仅播放一次。

isPublishOut

isPublishOut
nonatomic, assign BOOL isPublishOut

是否将音效混入推流中,默认 false。

ZegoAudioEffectPlayer

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoAudioEffectPlayerEventHandler>) handler;
设置音效播放器回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoAudioEffectPlayerEventHandler>音效播放器回调。

详情

设置音效播放器回调。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 相关接口:[createAudioEffectPlayer]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

start:path:config:

start:path:config:
- (void)start:(unsigned int) audioEffectID path:(nullable NSString *) path config:(ZegoAudioEffectPlayConfig *) config;
开始播放音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。SDK 内部使用 audioEffectID 进行音效的播放控制,SDK 不强制用户以固定形式的值传入该参数,最好保证每个音效可以有唯一的 ID,推荐的方式有静态自增 ID 和传入音效文件路径的 hash 两种方式。
pathnullable NSString *音效资源的路径。<br>取值范围:目前仅支持播放本地文件,不支持 "assets://"、"ipod-library://" 和网络资源等。如果之前使用 [loadResource] 预先加载了音效,可传入 nil 或 ""。
configZegoAudioEffectPlayConfig *音效播放配置。<br>默认值:传空则仅播放一次,且不会混音入推流中。

详情

开始播放音效,默认仅播放一次,且不会将音效混入推流中,如需修改请配置 [config] 参数。

  • 业务场景:当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用该接口实现,进一步通过 [config] 参数配置播放次数,将音效混入推流中。
  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

stop:

stop:
- (void)stop:(unsigned int) audioEffectID;
停止播放音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。

详情

停止播放指定的音效 [audioEffectID]。

  • 调用时机:指定的 [audioEffectID] 已经 [start] 。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

pause:

pause:
- (void)pause:(unsigned int) audioEffectID;
暂停播放音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。

详情

暂停播放指定的音效 [audioEffectID]。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

resume:

resume:
- (void)resume:(unsigned int) audioEffectID;
恢复播放音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。

详情

恢复播放指定的音效 [audioEffectID]。

  • 调用时机:指定的 [audioEffectID] 处于 [pause] 状态。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

stopAll

stopAll
- (void)stopAll;
停止播放所有音效。
Declared in ZegoExpressDefines.h

停止播放所有音效。

  • 调用时机:正在播放音效。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

pauseAll

pauseAll
- (void)pauseAll;
暂停播放所有音效。
Declared in ZegoExpressDefines.h

暂停播放所有音效。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

resumeAll

resumeAll
- (void)resumeAll;
恢复播放所有音效。
Declared in ZegoExpressDefines.h

恢复播放所有音效。

  • 调用时机:在 [pauseAll] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

seekTo:audioEffectID:callback:

seekTo:audioEffectID:callback:
- (void)seekTo:(unsigned long long) millisecond audioEffectID:(unsigned int) audioEffectID callback:(nullable ZegoAudioEffectPlayerSeekToCallback) callback;
设置播放进度。
Declared in ZegoExpressDefines.h

参数

名称类型描述
millisecondunsigned long long指定的播放进度的时间点。
audioEffectIDunsigned int音效资源的 ID。
callbacknullable ZegoAudioEffectPlayerSeekToCallback指定播放进度结果。

详情

设置指定音效的播放进度,单位为毫秒。

  • 调用时机:指定的 [audioEffectID] 已经 [start],且还没有播完。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

setVolume:audioEffectID:

setVolume:audioEffectID:
- (void)setVolume:(int) volume audioEffectID:(unsigned int) audioEffectID;
设置单个音效的播放音量,会同时设置本地播放音量和推流音量。
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。
audioEffectIDunsigned int音效资源的 ID。

详情

设置指定音效的播放音量,会同时设置本地播放音量和推流音量。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

setPlayVolume:audioEffectID:

setPlayVolume:audioEffectID:
- (void)setPlayVolume:(int) volume audioEffectID:(unsigned int) audioEffectID;
设置单个音效的本地播放音量。
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。
audioEffectIDunsigned int音效资源的 ID。

详情

设置指定音效的本地播放音量。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:3.11.0 及以上。
  • 使用限制:无。

setPublishVolume:audioEffectID:

setPublishVolume:audioEffectID:
- (void)setPublishVolume:(int) volume audioEffectID:(unsigned int) audioEffectID;
设置单个音效的推流音量。
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。
audioEffectIDunsigned int音效资源的 ID。

详情

设置指定音效的推流音量。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:3.11.0 及以上。
  • 使用限制:无。

setVolumeAll:

setVolumeAll:
- (void)setVolumeAll:(int) volume;
设置所有音效的播放音量,会同时设置本地播放音量和推流音量。
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。

详情

设置所有音效的播放音量,会同时设置本地播放音量和推流音量。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

setPlayVolumeAll:

setPlayVolumeAll:
- (void)setPlayVolumeAll:(int) volume;
设置所有音效的本地播放音量。
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。

详情

设置所有音效的本地播放音量。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:3.11.0 及以上。
  • 使用限制:无。

setPublishVolumeAll:

setPublishVolumeAll:
- (void)setPublishVolumeAll:(int) volume;
设置所有音效的推流音量。
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。

详情

设置所有音效的推流音量。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:3.11.0 及以上。
  • 使用限制:无。

setPlaySpeed:audioEffectID:

setPlaySpeed:audioEffectID:
- (void)setPlaySpeed:(float) speed audioEffectID:(unsigned int) audioEffectID;
设置指定音效的播放速度,会同时设置本地播放速度和推流速度(不支持单独设置)。
Declared in ZegoExpressDefines.h

参数

名称类型描述
speedfloat播放的倍速。<br>取值范围:范围为 0.5 ~ 2.0。 <br>默认值:默认为 1.0。
audioEffectIDunsigned int音效资源的 ID。

详情

设置指定音效的播放速度,会同时设置本地播放速度和推流速度(不支持单独设置)。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:2.18.0 及以上。
  • 使用限制:无。

getTotalDuration:

getTotalDuration:
- (unsigned long long)getTotalDuration:(unsigned int) audioEffectID;
获取指定音效资源的总长度。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。

详情

获取指定音效资源的总长度,单位为毫秒。

  • 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。
  • 相关接口:[start],[loadResource]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:在 [createAudioEffectPlayer] 之后可调用。

返回值

单位为毫秒。

getCurrentProgress:

getCurrentProgress:
- (unsigned long long)getCurrentProgress:(unsigned int) audioEffectID;
获取当前播放进度。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。

详情

获取指定音效的当前播放进度。单位为毫秒。

  • 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。
  • 相关接口:[start],[loadResource]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

loadResource:audioEffectID:callback:

loadResource:audioEffectID:callback:
- (void)loadResource:(NSString *) path audioEffectID:(unsigned int) audioEffectID callback:(nullable ZegoAudioEffectPlayerLoadResourceCallback) callback;
加载音效资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
pathNSString *音效资源路径,不能传入 nil 或 ""。<br>取值范围:目前仅支持播放本地文件,不支持 "assets://"、"ipod-library://" 和网络资源等。
audioEffectIDunsigned int音效资源的 ID。
callbacknullable ZegoAudioEffectPlayerLoadResourceCallback加载音效资源结果回调。

详情

加载音效资源。

  • 业务场景:在频繁播放相同音效场景中,SDK 为了优化重复读文件并解码的性能,提供了预加载音效文件到内存中的功能。
  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:预加载支持最多同时加载 15 个音效文件,并且音效文件时长不能超过 30s,否则加载会报错。

unloadResource:

unloadResource:
- (void)unloadResource:(unsigned int) audioEffectID;
卸载音效资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。

详情

卸载指定音效的音效资源。

  • 调用时机:在音效使用完毕之后,可以通过此函数释放相关资源;否则 SDK 将在 AudioEffectPlayer 实例销毁时释放加载的资源。
  • 相关接口:[loadResource]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

updatePosition:position:

updatePosition:position:
- (void)updatePosition:(unsigned int) audioEffectID position:(const float[_Nonnull 3]) position;
更新音效播放器(音频源)位置。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioEffectIDunsigned int音效资源的 ID。
positionconst float[_Nonnull 3]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组。

详情

更新音效播放器(音频源)位置。。

  • 业务场景:音效播放器也需要有 3D 空间音效。
  • 调用时机:监听[onAudioEffectPlayStateUpdate]回调,请在播放状态为ZegoAudioEffectPlayState.Playing之后ZegoAudioEffectPlayState.NoPlay/PlayEnded之前调用该接口。
  • 支持版本:3.6.0 及以上。
  • 使用限制:此接口需要与 RangeAudio/RangeScene 模块配合使用,RangeAudio/RangeScene 模块开启 3D 音效后,此接口才能调用成功。

getIndex

getIndex
- (NSNumber *)getIndex;
获取音效播放器索引。
Declared in ZegoExpressDefines.h

获取音效播放器索引。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

音效播放器索引。

ZegoAudioFrameParam

音频帧的参数对象

详情

包括音频帧的采样率、声道数

Declared in ZegoExpressDefines.h

属性

sampleRate

sampleRate
nonatomic, assign ZegoAudioSampleRate sampleRate

采样率

channel

channel
nonatomic, assign ZegoAudioChannel channel

音频声道,默认为 Mono 单声道

ZegoAudioMixingData

混音数据

Declared in ZegoExpressDefines.h

属性

audioData

audioData
nonatomic, strong, nullable NSData * audioData

需要混入推流的音频 PCM 数据

param

param
nonatomic, strong ZegoAudioFrameParam * param

音频数据属性,包括采样率和声道数。目前支持 16k, 32k, 44.1k, 48k 的采样率、单声道或双声道、16 bit 位深的 PCM 数据。开发者需要显式指定音频数据属性,否则混音将不生效。

SEIData

SEIData
nonatomic, strong, nullable NSData * SEIData

SEI 数据,用于传递自定义数据。当 audioData 为空时,SEIData 也将不会被发送

ZegoAudioSourceMixConfig

音频输入源混音配置

详情

用于在设置音频输入源的同时,配置是否将媒体播放器、音效播放器和系统声音等混入推流中。

Declared in ZegoExpressDefines.h

属性

mediaPlayerIndexList

mediaPlayerIndexList
nonatomic, assign int* mediaPlayerIndexList

媒体播放器实例索引列表。

mediaPlayerCount

mediaPlayerCount
nonatomic, assign int mediaPlayerCount

媒体播放器实例个数。

audioEffectPlayerIndexList

audioEffectPlayerIndexList
nonatomic, assign int* audioEffectPlayerIndexList

音效播放器实例索引列表。

audioEffectPlayerCount

audioEffectPlayerCount
nonatomic, assign int audioEffectPlayerCount

音效播放器实例个数。

enableMixScreenCapture

enableMixScreenCapture
nonatomic, assign BOOL enableMixScreenCapture

是否将屏幕采集的声音混到推流中,输入源不能设置为屏幕采集。(仅适用于 Android 和 iOS 平台)

方法

defaultConfig

defaultConfig
- (void)+ (instancetype)defaultConfig;
创建默认音频输入源混音配置对象
Declared in ZegoExpressDefines.h

ZegoAudioSourceMixConfig 实例

ZegoAudioVADClient

Declared in ZegoExpressDefines.h

方法

update:dataLength:sampleRate:channels:

update:dataLength:sampleRate:channels:
- (ZegoAudioVADType) update:(unsigned char *) data dataLength:(int) dataLength sampleRate:(int) sampleRate channels:(int) channels;
检测音频包是否包含语音。
Declared in ZegoExpressDefines.h

参数

名称类型描述
dataunsigned char *音频数据。
dataLengthint音频数据长度。
sampleRateint采样率。
channelsint通道数。

详情

检测音频包是否包含语音。

  • 调用时机:在初始化检测音频包类 [createAudioVADClient] 之后。
  • 支持版本:2.21.0 及以上。
  • 注意事项:语音数据异常时也会返回ZegoAudioVADTypeSpeech, 保证不会漏掉语音。

返回值

语音检测结果。

reset

reset
- (BOOL)reset;
重置检测音频包类对象。
Declared in ZegoExpressDefines.h

重置检测音频包类对象。

  • 调用时机:在初始化检测音频包类 [createAudioVADClient] 之后。
  • 支持版本:2.21.0 及以上。

重置结果。

ZegoAutoMixerTask

自动混流任务对象

详情

调用 [StartAutoMixerTask] 函数向 ZEGO RTC 服务器发起自动混流任务时,需要通过该参数配置自动混流任务,包括任务 ID、房间 ID、音频配置、输出流列表、是否开启声浪回调通知。

  • 业务场景:当向 ZEGO RTC 服务器发起自动混流任务时,需要这个配置。
  • 注意事项:作为调用 [StartAutoMixerTask] 函数时传入的参数。

Declared in ZegoExpressDefines.h

属性

taskID

taskID
nonatomic, copy NSString * taskID

自动混流任务 ID,一个房间内需要保证混流任务 ID 的唯一性。

  • 业务场景:当发起自动混流任务时,需要配置该参数。
  • 是否必填:是。
  • 建议值:根据需求设置。
  • 取值范围:长度不超过 256 字节的字符串。
  • 注意事项:一个房间内只能存在一个混流任务 ID,即保证混流任务 ID 的唯一性,建议混流任务 ID 与房间 ID 关联,可直接使用房间 ID 作为混流任务 ID。不可以包含 URL 关键字,例如 'http', '?' 等,否则推拉流会失败。仅支持数字,英文字符 和 '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '/', '\'。

roomID

roomID
nonatomic, copy NSString * roomID

自动混流任务的房间 ID。

  • 业务场景:当发起自动混流任务时,需要配置该参数。
  • 是否必填:是。
  • 建议值:根据需求设置。
  • 取值范围:长度不超过 128 字节的字符串。
  • 注意事项:仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。如果需要与 Web SDK 互通,请不要使用 '%'。

audioConfig

audioConfig
nonatomic, strong ZegoMixerAudioConfig * audioConfig

自动混流任务的音频配置,可配置音频码率、音频声道,编码 ID、多路音频流混音模式。

  • 业务场景:如果对自动混流任务的音频有特殊需求,比如需要调整音频码率,可根据需要调整该参数,否则不用配置。
  • 是否必填:否。
  • 默认值:默认音频码率为 "48 kbps", 默认音频声道为 "ZEGO_AUDIO_CHANNEL_MONO", 默认编码 ID 为 "ZEGO_AUDIO_CODEC_ID_DEFAULT",默认多路音频流混音模式为 "ZEGO_AUDIO_MIX_MODE_RAW"。
  • 建议值:根据需求设置。

outputList

outputList
nonatomic, strong NSArray<ZegoMixerOutput *> * outputList

自动混流任务的输出流列表,列表中为 URL 或者流 ID,若为 URL 格式 目前只支持 RTMP URL 格式:rtmp://xxxxxxxx。

  • 业务场景:当发起自动混流任务时,需要配置该参数指明混流输出目标。Mix stream output target
  • 是否必填:是。

enableSoundLevel

enableSoundLevel
nonatomic, assign BOOL enableSoundLevel

是否开启自动混流的声浪回调通知,开启后拉混流时可通过 [onAutoMixerSoundLevelUpdate] 回调收到每条单流的声浪信息。

  • 业务场景:当发起自动混流任务时,如果需要回调流的声浪信息,需要配置该参数。
  • 是否必填:否。
  • 默认值:"false"。
  • 建议值:根据需求设置。

streamAlignmentMode

streamAlignmentMode
nonatomic, assign ZegoStreamAlignmentMode streamAlignmentMode

混流对齐模式。

minPlayStreamBufferLength

minPlayStreamBufferLength
nonatomic, assign int minPlayStreamBufferLength

设置混流服务器拉流缓存自适应调整的区间范围下限。在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。通过调节混流服务器拉流缓存自适应调整的区间范围下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。默认不设置,即服务端使用自身配置值。只会对新的输入流设置生效,对于已经开始混流的输入流不生效。

  • 取值范围:[0,10000],超过最大值混流会失败。在 web 平台,此属性不生效。

streamAlignmentVolumeControlMode

streamAlignmentVolumeControlMode
nonatomic, assign ZegoStreamAlignmentVolumeControlMode streamAlignmentVolumeControlMode

混流对齐场景音量调整模式。

streamAlignmentBaselineStreamID

streamAlignmentBaselineStreamID
nonatomic, copy NSString * streamAlignmentBaselineStreamID

混流对齐场景的基准流 ID。

ZegoBackgroundConfig

背景的配置。

详情

用于在开启主体分割时,配置背景。

Declared in ZegoExpressDefines.h

属性

processType

processType
nonatomic, assign ZegoBackgroundProcessType processType

背景处理类型。

color

color
nonatomic, assign int color

背景颜色,格式为 0xRRGGBB,默认为黑色即 0x000000

imageURL

imageURL
nonatomic, copy NSString * imageURL

背景图路径。支持本地文件绝对路径 (file://xxx)。 格式支持 png、jpg。

videoURL

videoURL
nonatomic, copy NSString * videoURL
  • 注意事项:1. 视频将循环播放。2. 支持本地文件绝对路径 (file://xxx)。 3. 格式支持 MP4、FLV、MKV、AVI。4. 分辨率最大不超过4096px,推荐1920px以内。5. 视频时长最大不超过30秒,推荐15秒以内。6. 视频大小最大不超过50MB,推荐10MB以内。

blurLevel

blurLevel
nonatomic, assign ZegoBackgroundBlurLevel blurLevel

背景虚化级别。

ZegoBarrageMessageInfo

房间弹幕消息

详情

收到的房间弹幕消息对象,包括消息内容、消息 ID、发送人、发送时间

Declared in ZegoExpressDefines.h

属性

message

message
nonatomic, copy NSString * message

消息内容

messageID

messageID
nonatomic, copy NSString * messageID

消息 ID

sendTime

sendTime
nonatomic, assign unsigned long long sendTime

消息的发送时间,UNIX 时间戳,单位为毫秒

fromUser

fromUser
nonatomic, strong ZegoUser * fromUser

消息的发送者。请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

ZegoBeautifyOption

美颜配置选项

详情

配置美颜的磨皮、美白、锐化参数

Declared in ZegoExpressDefines.h

属性

polishStep

polishStep
nonatomic, assign double polishStep

美颜磨皮的采样步长,取值范围[0,1],默认 0.2

whitenFactor

whitenFactor
nonatomic, assign double whitenFactor

美颜美白的亮度参数,值越大亮度越亮,取值范围[0,1],默认 0.5

sharpenFactor

sharpenFactor
nonatomic, assign double sharpenFactor

美颜锐化参数,值越大锐化越强,取值范围[0,1],默认 0.1

方法

defaultConfig

defaultConfig
- (void)+ (instancetype)defaultConfig;
创建默认美颜参数对象
Declared in ZegoExpressDefines.h

ZegoBeautifyOption 实例

ZegoBroadcastMessageInfo

房间广播消息

详情

收到的房间广播消息对象,包括消息内容、消息 ID、发送人、发送时间

Declared in ZegoExpressDefines.h

属性

message

message
nonatomic, copy NSString * message

消息内容

messageID

messageID
nonatomic, assign unsigned long long messageID

消息 ID

sendTime

sendTime
nonatomic, assign unsigned long long sendTime

消息的发送时间,UNIX 时间戳,单位为毫秒

fromUser

fromUser
nonatomic, strong ZegoUser * fromUser

消息的发送者。请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

ZegoCDNConfig

CDN 配置对象

详情

包括 CDN 的 URL 以及鉴权参数字符串

Declared in ZegoExpressDefines.h

属性

url

url
nonatomic, copy NSString * url

CDN 的 URL

authParam

authParam
nonatomic, copy NSString * authParam

URL 的鉴权参数。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。

protocol

protocol
nonatomic, copy NSString * protocol

URL 支持的协议,可选值为 "tcp" 和 "quic",若要使用多个,用英文的逗号分割,按顺序尝试。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。

quicVersion

quicVersion
nonatomic, copy NSString * quicVersion

QUIC 版本。如果 [protocol] 有 QUIC 协议,需要填写该信息。如果有多个版本号,用英文的逗号分割。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。

httpdns

httpdns

自定义使用的 httpdns 服务。目前仅支持拉流时使用该功能。

quicConnectMode

quicConnectMode
int quicConnectMode

QUIC 建立链接模式,若为1 则会优先使用quic 0 rtt 去建立链接,否则正常建立链接。如果 [protocol] 有 QUIC 协议,此值生效。

customParams

customParams
nonatomic, copy NSString * customParams

URL 的自定义参数。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。

ZegoCanvas

视图对象

详情

配置 View 对象、视图模式、视图背景颜色

Declared in ZegoExpressDefines.h

属性

view

view
nonatomic, strong ZGView * view

View 对象

viewMode

viewMode
nonatomic, assign ZegoViewMode viewMode

视图模式,默认为 ZegoViewModeAspectFit

backgroundColor

backgroundColor
nonatomic, assign int backgroundColor

背景颜色,格式为 0xRRGGBB,默认为黑色即 0x000000

alphaBlend

alphaBlend
nonatomic, assign BOOL alphaBlend

是否允许 alpha 混合图层渲染,默认为 false。

rotation

rotation
nonatomic, assign int rotation

逆时针旋转角度,默认为 0。媒体播放器视图不支持。

mirror

mirror
nonatomic, assign BOOL mirror

是否开启画面镜像,默认为 false。仅拉流视图支持,推流请使用 [setVideoMirrorMode] 接口, 媒体播放器请使用 [enableViewMirror] 接口。

viewContext

viewContext
nonatomic, copy NSString * viewContext

视图上下文,默认为空字符串。最大 63 字节的utf8编码字符串。一般无需关注,可用于混流的分切渲染,了解具体使用方法,需要联系ZEGO技术支持。

方法

canvasWithView

canvasWithView
+ (instancetype)canvasWithView:(ZGView *)view;
创建视图,viewMode 默认为 ZegoViewModeAspectFit,背景色默认为黑色
Declared in ZegoExpressDefines.h

ZegoCanvas 实例

initWithView

initWithView
- (instancetype)initWithView:(ZGView *)view;
创建视图,viewMode 默认为 ZegoViewModeAspectFit,背景色默认为黑色
Declared in ZegoExpressDefines.h

ZegoCanvas 实例

ZegoColorEnhancementParams

色彩增强参数。

Declared in ZegoExpressDefines.h

属性

intensity

intensity
nonatomic, assign float intensity

色彩增强的强度。

  • 取值范围:[0,1],取值越大,色彩增强的强度越大。
  • 默认值:0。

skinToneProtectionLevel

skinToneProtectionLevel
nonatomic, assign float skinToneProtectionLevel

肤色保护程度。

  • 取值范围:[0,1],取值越大,肤色保护程度越大。
  • 默认值:1。

lipColorProtectionLevel

lipColorProtectionLevel
nonatomic, assign float lipColorProtectionLevel

唇色保护程度。

  • 取值范围:[0,1],取值越大,唇色保护程度越大。
  • 默认值:0。

ZegoCopyrightedMusic

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoCopyrightedMusicEventHandler>) handler;
设置版权音乐回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoCopyrightedMusicEventHandler>用于接收版权音乐回调的对象。

详情

设置版权音乐模块回调的接口,可接收歌曲播放状态相关回调通知。

  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 之后。
  • 支持版本:2.13.0 及以上。

initCopyrightedMusic:callback:

initCopyrightedMusic:callback:
- (void)initCopyrightedMusic:(ZegoCopyrightedMusicConfig *) config callback:(nullable ZegoCopyrightedMusicInitCallback) callback;
初始化版权音乐模块。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicConfig *版权音乐配置。
callbacknullable ZegoCopyrightedMusicInitCallback初始化结果

详情

初始化版权音乐,以便后续使用版权音乐的功能。

  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 和登录房间 [loginRoom] 之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:1. 必须传入真实用户信息,否则无法获取歌曲资源进行播放。2. 初始化版权音乐时设置的用户 ID 和用户名需要和登录房间时设置的用户 ID 和用户名一致。

getCacheSize

getCacheSize
- (unsigned long long)getCacheSize;
获取缓存大小。
Declared in ZegoExpressDefines.h

在使用本模块时,可能产生一些缓存文件,可以通过本接口获取缓存文件的大小。

  • 业务场景:用于展示 App 的缓存大小。
  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 之后。
  • 支持版本:2.13.0 及以上。

缓存文件大小,单位 byte。

clearCache

clearCache
- (void)clearCache;
清除缓存。
Declared in ZegoExpressDefines.h

在使用本模块时,可能产生一些缓存文件,可以通过本接口进行清除。

  • 业务场景:用于清除 App 的缓存。
  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 之后。
  • 支持版本:2.13.0 及以上。

sendExtendedRequest:params:callback:

sendExtendedRequest:params:callback:
- (void)sendExtendedRequest:(NSString *) command params:(NSString *) params callback:(nullable ZegoCopyrightedMusicSendExtendedRequestCallback) callback;
发送扩展功能请求。
Declared in ZegoExpressDefines.h

参数

名称类型描述
commandNSString *请求命令,具体支持的命令请参考 https://doc-zh.zego.im/article/15077
paramsNSString *请求参数,每个请求命令具备对应的请求参数,请参考 https://doc-zh.zego.im/article/15077
callbacknullable ZegoCopyrightedMusicSendExtendedRequestCallback发送扩展功能请求结果

详情

发送扩展功能请求,访问版权歌曲库获取相关歌单、榜单歌曲信息。

  • 业务场景:用于获取歌曲列表。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。

getLrcLyric:vendorID:callback:

getLrcLyric:vendorID:callback:
- (void)getLrcLyric:(NSString *) songID vendorID:(ZegoCopyrightedMusicVendorID) vendorID callback:(nullable ZegoCopyrightedMusicGetLrcLyricCallback) callback;
获取 lrc 格式歌词。
Declared in ZegoExpressDefines.h

参数

名称类型描述
songIDNSString *歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
vendorIDZegoCopyrightedMusicVendorID版权方。
callbacknullable ZegoCopyrightedMusicGetLrcLyricCallback获取 lrc 格式歌词结果

详情

获取 lrc 格式歌词,支持逐行解析歌词。

  • 业务场景:用于逐行显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.2.1 及以上。

getLrcLyricWithConfig:callback:

getLrcLyricWithConfig:callback:
- (void)getLrcLyricWithConfig:(ZegoCopyrightedMusicGetLyricConfig *) config callback:(nullable ZegoCopyrightedMusicGetLrcLyricCallback) callback;
获取 lrc 格式歌词。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicGetLyricConfig *获取歌词的配置。
callbacknullable ZegoCopyrightedMusicGetLrcLyricCallback获取 lrc 格式歌词结果

详情

获取 lrc 格式歌词,支持逐行解析歌词。

  • 业务场景:用于逐行显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.12.0 及以上。

getKrcLyricByToken:callback:

getKrcLyricByToken:callback:
- (void)getKrcLyricByToken:(NSString *) krcToken callback:(nullable ZegoCopyrightedMusicGetKrcLyricByTokenCallback) callback;
获取逐字歌词。
Declared in ZegoExpressDefines.h

参数

名称类型描述
krcTokenNSString *通过调用 [requestResource] 点伴奏或点高潮片段、或调用 [getSharedResource] 接口获取分享资源时获取的 krcToken。详情请参考 https://doc-zh.zego.im/article/15079#2_2
callbacknullable ZegoCopyrightedMusicGetKrcLyricByTokenCallback获取逐字格式歌词结果。

详情

获取逐字歌词,支持逐字解析歌词。

  • 业务场景:用于逐字显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。

requestResource:type:callback:

requestResource:type:callback:
- (void)requestResource:(ZegoCopyrightedMusicRequestConfig *) config type:(ZegoCopyrightedMusicResourceType) type callback:(nullable ZegoCopyrightedMusicRequestResourceCallback) callback;
获取音乐资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig *获取音乐资源的配置。
typeZegoCopyrightedMusicResourceType版权音乐资源类型。
callbacknullable ZegoCopyrightedMusicRequestResourceCallback获取音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放与分享。
  • 相关接口:房间内某个用户调用此接口获取某音乐资源成功后,房间内其他用户可以调用 [getSharedResource] 接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.0.2 及以上。
  • 注意事项: 1. 每个资源有唯一的资源 ID。 2. 每调用一次此接口,都会触发一次计费,详情请咨询 ZEGO 商务人员。 3. 调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

requestResource:callback:

requestResource:callback:
- (void)requestResource:(ZegoCopyrightedMusicRequestConfigV2 *) config callback:(nullable ZegoCopyrightedMusicRequestResourceCallback) callback;
获取音乐资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicRequestConfigV2 *获取音乐资源的配置。
callbacknullable ZegoCopyrightedMusicRequestResourceCallback获取音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放与分享。
  • 相关接口:房间内某个用户调用此接口获取某音乐资源成功后,房间内其他用户可以调用 [getSharedResource] 接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.12.0 及以上。
  • 注意事项: 1. 每个资源有唯一的资源 ID。 2. 每调用一次此接口,都会触发一次计费,详情请咨询 ZEGO 商务人员。 3. 调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

getSharedResource:type:callback:

getSharedResource:type:callback:
- (void)getSharedResource:(ZegoCopyrightedMusicGetSharedConfig *) config type:(ZegoCopyrightedMusicResourceType) type callback:(nullable ZegoCopyrightedMusicGetSharedResourceCallback) callback;
获取分享歌曲资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicGetSharedConfig *获取分享歌曲资源的配置。
typeZegoCopyrightedMusicResourceType版权音乐资源类型。
callbacknullable ZegoCopyrightedMusicGetSharedResourceCallback获取分享音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放。
  • 相关接口:房间内某个用户调用 [requestResource] 接口获取某音乐资源成功后,房间内其他用户可以调用此接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.0.2 及以上。
  • 注意事项:每个资源有唯一的资源 ID。调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

getSharedResource:callback:

getSharedResource:callback:
- (void)getSharedResource:(ZegoCopyrightedMusicGetSharedConfigV2 *) config callback:(nullable ZegoCopyrightedMusicGetSharedResourceCallback) callback;
获取分享歌曲资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicGetSharedConfigV2 *获取分享歌曲资源的配置。
callbacknullable ZegoCopyrightedMusicGetSharedResourceCallback获取分享音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放。
  • 相关接口:房间内某个用户调用 [requestResource] 接口获取某音乐资源成功后,房间内其他用户可以调用此接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.12.0 及以上。
  • 注意事项:每个资源有唯一的资源 ID。调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

download:callback:

download:callback:
- (void)download:(NSString *) resourceID callback:(nullable ZegoCopyrightedMusicDownloadCallback) callback;
下载音乐资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *歌曲或伴奏对应的资源 ID。
callbacknullable ZegoCopyrightedMusicDownloadCallback下载载歌曲或伴奏结果。

详情

下载音乐资源,下载成功后才能进行播放。

  • 业务场景:获取音乐资源授权后,利用本接口下载对应的资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:下载版权音乐资源受网络影响。

cancelDownload:

cancelDownload:
- (void)cancelDownload:(NSString *) resourceID;
取消下载音乐资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *歌曲或伴奏对应的资源 ID。

详情

取消下载音乐资源。

  • 业务场景:当开始下载音乐资源后,利用本接口取消对应的下载任务。
  • 调用时机:在开始下载 [download] 之后。
  • 支持版本:3.11.0 及以上。
  • 注意事项:当传入有效的 resourceID 时, 只会取消未完成的下载任务, 当传入空字符串时, 取消所有未完成的下载任务。

queryCache:

queryCache:
- (BOOL)queryCache:(ZegoCopyrightedMusicQueryCacheConfig *) config;
查询资源是否有缓存。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicQueryCacheConfig *查询资源缓存的配置。

详情

查询资源是否有缓存

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.9.0 及以上。

queryCacheV2:

queryCacheV2:
- (BOOL)queryCacheV2:(ZegoCopyrightedMusicQueryCacheConfigV2 *) config;
查询资源是否有缓存。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicQueryCacheConfigV2 *查询资源缓存的配置。

详情

查询资源是否有缓存

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.12.0 及以上。

getDuration:

getDuration:
- (unsigned long long)getDuration:(NSString *) resourceID;
获取歌曲或伴奏文件的播放时长。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *歌曲或伴奏对应的资源 ID。

详情

获取歌曲或伴奏文件的播放时长。

  • 业务场景:可以用于在视图上显示歌曲或伴奏的播放时长信息。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。

setScoringLevel:

setScoringLevel:
- (void)setScoringLevel:(int) level;
设置打分难度级别。
Declared in ZegoExpressDefines.h

参数

名称类型描述
levelint打分难度级别。level 取值范围 0 ~ 4。打分难度由 0 到 4 逐级递减。

详情

用户可以通过该接口设置打分难度级别。

  • 调用时机:调用 [initCopyrightedMusic] 初始化版权音乐成功后,调用 [startScore] 开始打分前。
  • 默认值:未调用该函数时,打分难度级别默认是 4。
  • 支持版本:2.22.0 及以上。
  • 注意事项:该方法不支持动态设置,调用该方法成功后,下一次调用 [startScore] 生效。

startScore:pitchValueInterval:

startScore:pitchValueInterval:
- (int)startScore:(NSString *) resourceID pitchValueInterval:(int) pitchValueInterval;
开始评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。
pitchValueIntervalint实时音高线回调的时间间隔, 单位毫秒,默认 50 毫秒。

详情

开始评分后,将会根据设置的回调时间间隔,收到评分结果 [OnCurrentPitchValueUpdate] 回调。

  • 业务场景:可以用于在视图上显示唱歌评分。
  • 调用时机:在获取到逐字歌词,并播放版权音乐的伴奏资源之后可调用。
  • 支持版本:2.15.0 及以上。
  • 注意事项:目前仅支持在推流开始 [startPublishingStream] 后,才能开始打分。

pauseScore:

pauseScore:
- (int)pauseScore:(NSString *) resourceID;
暂停评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

暂停正在进行的评分,将停止 [OnCurrentPitchValueUpdate] 回调。

  • 业务场景:正在评分时可调用此接口暂停评分功能。
  • 调用时机:正在评分时可调用。
  • 支持版本:2.15.0 及以上。

resumeScore:

resumeScore:
- (int)resumeScore:(NSString *) resourceID;
恢复评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

恢复当前暂停的评分。

  • 业务场景:当前有暂停的评分时可调用此接口恢复评分功能。
  • 调用时机:当前有暂停的评分时可调用。
  • 支持版本:2.15.0 及以上。

stopScore:

stopScore:
- (int)stopScore:(NSString *) resourceID;
结束评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

结束当前评分,将停止 [OnCurrentPitchValueUpdate] 回调,但依然可以正常获取平均分或总分。

  • 业务场景:正在评分时可调用此接口结束评分。
  • 调用时机:正在评分时可调用。
  • 支持版本:2.15.0 及以上。

resetScore:

resetScore:
- (int)resetScore:(NSString *) resourceID;
重置评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

重置已经进行过的评分,将停止 [OnCurrentPitchValueUpdate] 回调,获取平均分或总分将为 0。

  • 业务场景:常用于重唱同一首歌的场景。
  • 调用时机:已经进行过评分后可以调用。
  • 支持版本:2.15.0 及以上。

getPreviousScore:

getPreviousScore:
- (int)getPreviousScore:(NSString *) resourceID;
获取上一句的评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

返回值是获取上一句的评分。

  • 业务场景:可以用于在视图上显示每一句的评分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

getAverageScore:

getAverageScore:
- (int)getAverageScore:(NSString *) resourceID;
获取平均评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

获取平均评分。

  • 业务场景:可以用于在视图上显示平均评分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

getTotalScore:

getTotalScore:
- (int)getTotalScore:(NSString *) resourceID;
获取总评分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

获取总评分。

  • 业务场景:可以用于在视图上显示总评分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

getFullScore:

getFullScore:
- (int)getFullScore:(NSString *) resourceID;
获取满分。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。

详情

获取满分。

  • 业务场景:可以用于在视图上显示满分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:3.0.2 及以上。

getStandardPitch:callback:

getStandardPitch:callback:
- (void)getStandardPitch:(NSString *) resourceID callback:(nullable ZegoCopyrightedMusicGetStandardPitchCallback) callback;
获取标准音高数据。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *伴奏或高潮片段对应的资源 ID。
callbacknullable ZegoCopyrightedMusicGetStandardPitchCallback获取标准音高数据结果。

详情

获取标准音高数据。

  • 业务场景:可以用于在视图上显示标准音高线。
  • 支持版本:2.15.0 及以上。
  • 注意事项:只有伴奏或高潮片段资源才有音高线。

getCurrentPitch:

getCurrentPitch:
- (int)getCurrentPitch:(NSString *) resourceID;
获取实时音高数据。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *歌曲或伴奏对应的资源 ID。

详情

获取实时音高数据。

  • 业务场景:可以用于在视图上显示实时音高线。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

requestSong:callback:

requestSong:callback:
deprecated
- (void)requestSong:(ZegoCopyrightedMusicRequestConfig *) config callback:(nullable ZegoCopyrightedMusicRequestSongCallback) callback;
【已废弃】点歌。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig *请求配置。
callbacknullable ZegoCopyrightedMusicRequestSongCallback点歌结果

详情

点歌不仅可以获取到歌曲的基本信息(时长、歌名、歌手等),还可以用于本地播放的资源 ID 或用于分享给他人播放的 share_token,还有相关的一些鉴权信息。支持按次点歌方式。

  • 业务场景:获取版权歌曲,用于本地播放与分享。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:该接口会触发计费。一首歌曲可能存在普通、高清、无损三种音质,每种音质都有不同的资源文件,每个资源文件有唯一的资源 ID。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。

requestAccompaniment:callback:

requestAccompaniment:callback:
deprecated
- (void)requestAccompaniment:(ZegoCopyrightedMusicRequestConfig *) config callback:(nullable ZegoCopyrightedMusicRequestAccompanimentCallback) callback;
【已废弃】点伴奏。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig *请求配置。
callbacknullable ZegoCopyrightedMusicRequestAccompanimentCallback点伴奏结果。

详情

可以获取 songID 对应歌曲的伴奏资源,包括 resource_id、krc_token、share_token 等。支持按次点伴奏方式。

  • 业务场景:获取版权歌曲伴奏,用于本地播放与分享。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:该接口会触发计费。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。

requestAccompanimentClip:callback:

requestAccompanimentClip:callback:
deprecated
- (void)requestAccompanimentClip:(ZegoCopyrightedMusicRequestConfig *) config callback:(nullable ZegoCopyrightedMusicRequestAccompanimentClipCallback) callback;
【已废弃】点伴奏高潮片段。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig *请求配置。
callbacknullable ZegoCopyrightedMusicRequestAccompanimentClipCallback点伴奏高潮片段结果。

详情

可以获取 songID 对应歌曲的高潮片段资源,包括 resource_id、krc_token、share_token 等。支持按次点伴奏高潮片段方式。

  • 业务场景:获取版权歌曲伴奏高潮片段,用于本地播放与分享。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:该接口会触发计费。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。

getMusicByToken:callback:

getMusicByToken:callback:
deprecated
- (void)getMusicByToken:(NSString *) shareToken callback:(nullable ZegoCopyrightedMusicGetMusicByTokenCallback) callback;
【已废弃】获取歌曲或伴奏。此函数在 3.0.2 版本及以上已废弃,请使用 [getSharedResource] 函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
shareTokenNSString *访问一首歌曲或伴奏的对应授权 token。
callbacknullable ZegoCopyrightedMusicGetMusicByTokenCallback获取歌曲或伴奏结果。

详情

通过他人分享的歌曲或伴奏 token,获取对应的一首歌曲或伴奏。

  • 业务场景:在线 KTV 场景中,合唱者收到主唱分享的歌曲或伴奏 token 后,通过本接口获取对应的一首歌曲或伴奏,然后在本端进行播放。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [getSharedResource] 函数代替。

getLrcLyric:callback:

getLrcLyric:callback:
deprecated
- (void)getLrcLyric:(NSString *) songID callback:(nullable ZegoCopyrightedMusicGetLrcLyricCallback) callback;
【已废弃】获取 lrc 格式歌词。此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
songIDNSString *歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
callbacknullable ZegoCopyrightedMusicGetLrcLyricCallback获取 lrc 格式歌词结果

详情

获取 lrc 格式歌词,支持逐行解析歌词。

  • 业务场景:用于逐行显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
已废弃
此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。

queryCache:type:

queryCache:type:
deprecated
- (BOOL)queryCache:(NSString *) songID type:(ZegoCopyrightedMusicType) type;
【已废弃】查询资源是否有缓存。此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
songIDNSString *歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
typeZegoCopyrightedMusicType歌曲资源类型。

详情

查询资源是否有缓存。

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
已废弃
此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。

queryCache:type:vendorID:

queryCache:type:vendorID:
deprecated
- (BOOL)queryCache:(NSString *) songID type:(ZegoCopyrightedMusicType) type vendorID:(ZegoCopyrightedMusicVendorID) vendorID;
【已废弃】查询资源是否有缓存。此函数在 3.9.0 版本及以上已废弃,请使用带 [config] 参数的同名函数代替。
Declared in ZegoExpressDefines.h

参数

名称类型描述
songIDNSString *歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
typeZegoCopyrightedMusicType歌曲资源类型。
vendorIDZegoCopyrightedMusicVendorID版权方。

详情

查询资源是否有缓存

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.2.1 及以上。
已废弃
此函数在 3.9.0 版本及以上已废弃,请使用带 [config] 参数的同名函数代替。

ZegoCopyrightedMusicConfig

版权音乐配置

Declared in ZegoExpressDefines.h

属性

user

user
nonatomic, strong ZegoUser * user

用户对象实例,配置用户 ID、用户名。 注意此处设置的用户 ID 需要与登录房间时设置的用户 ID 保持一致,否则会出现请求版权音乐后台服务失败的情况。

ZegoCopyrightedMusicEventHandler

Declared in ZegoExpressEventHandler.h

方法

onDownloadProgressUpdate:resourceID:progressRate:

onDownloadProgressUpdate:resourceID:progressRate:
- (void)onDownloadProgressUpdate:(ZegoCopyrightedMusic *) copyrightedMusic resourceID:(NSString *) resourceID progressRate:(float) progressRate;
加载歌曲或伴奏进度回调。
Declared in ZegoExpressEventHandler.h
名称类型描述
copyrightedMusicZegoCopyrightedMusic *触发此次回调的版权音乐实例。
resourceIDNSString *触发此次回调的歌曲或伴奏对应的资源 ID。
progressRatefloat加载进度。

onCurrentPitchValueUpdate:resourceID:currentDuration:pitchValue:

onCurrentPitchValueUpdate:resourceID:currentDuration:pitchValue:
- (void)onCurrentPitchValueUpdate:(ZegoCopyrightedMusic *) copyrightedMusic resourceID:(NSString *) resourceID currentDuration:(int) currentDuration pitchValue:(int) pitchValue;
实时音高线回调。
Declared in ZegoExpressEventHandler.h
名称类型描述
copyrightedMusicZegoCopyrightedMusic *触发此次回调的版权音乐实例。
resourceIDNSString *触发此次回调的歌曲或伴奏对应的资源 ID。
currentDurationint当前播放进度。
pitchValueint实时音高准确程度或值。

ZegoCopyrightedMusicGetLyricConfig

获取歌词的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

vendorID

vendorID
nonatomic, assign int vendorID

版权方。

ZegoCopyrightedMusicGetSharedConfig

获取分享资源的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

vendorID

vendorID
nonatomic, assign ZegoCopyrightedMusicVendorID vendorID

版权方。

roomID

roomID
nonatomic, copy NSString * roomID

房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间获取资源。

ZegoCopyrightedMusicGetSharedConfigV2

获取分享资源的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

vendorID

vendorID
nonatomic, assign int vendorID

版权方。参考 [ZegoCopyrightedMusicVendorID] 的值。

roomID

roomID
nonatomic, copy NSString * roomID

房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间获取资源。

resourceType

resourceType
nonatomic, assign int resourceType

版权音乐资源类型。

ZegoCopyrightedMusicQueryCacheConfig

查询缓存的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

resourceType

resourceType
nonatomic, assign ZegoCopyrightedMusicResourceType resourceType

版权音乐资源类型。

resourceQualityType

resourceQualityType
nonatomic, assign ZegoCopyrightedMusicResourceQualityType resourceQualityType

版权音乐资源音质类型。

vendorID

vendorID
nonatomic, assign ZegoCopyrightedMusicVendorID vendorID

版权方。

ZegoCopyrightedMusicQueryCacheConfigV2

查询缓存的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

resourceType

resourceType
nonatomic, assign int resourceType

版权音乐资源类型。参考 [ZegoCopyrightedMusicResourceType] 的值。

resourceQualityType

resourceQualityType
nonatomic, assign int resourceQualityType

版权音乐资源音质类型。参考 [ZegoCopyrightedMusicResourceQualityType] 的值。

vendorID

vendorID
nonatomic, assign int vendorID

版权方。参考 [ZegoCopyrightedMusicVendorID] 的值。

ZegoCopyrightedMusicRequestConfig

获取资源的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

mode

mode
nonatomic, assign ZegoCopyrightedMusicBillingMode mode

计费模式。

vendorID

vendorID
nonatomic, assign ZegoCopyrightedMusicVendorID vendorID

版权方。

roomID

roomID
nonatomic, copy NSString * roomID

房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间进行点歌/点伴奏/点高潮片段。

masterID

masterID
nonatomic, copy NSString * masterID

房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段

sceneID

sceneID
nonatomic, assign int sceneID

场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。

ZegoCopyrightedMusicRequestConfigV2

获取资源的配置。

Declared in ZegoExpressDefines.h

属性

songID

songID
nonatomic, copy NSString * songID

歌曲 ID。

mode

mode
nonatomic, assign int mode

计费模式。参考 [ZegoCopyrightedMusicBillingMode] 的值。

vendorID

vendorID
nonatomic, assign int vendorID

版权方。参考 [ZegoCopyrightedMusicVendorID] 的值。

roomID

roomID
nonatomic, copy NSString * roomID

房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间进行点歌/点伴奏/点高潮片段。

masterID

masterID
nonatomic, copy NSString * masterID

房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段

sceneID

sceneID
nonatomic, assign int sceneID

场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。

resourceType

resourceType
nonatomic, assign int resourceType

版权音乐资源类型。参考 [ZegoCopyrightedMusicResourceType] 的值。

ZegoCrossAppInfo

跨 APP 拉流配置

Declared in ZegoExpressDefines.h

属性

appID

appID
nonatomic, assign unsigned int appID

跨 App 拉流的 AppID。

token

token
nonatomic, copy NSString * token

需要设置的 token。

ZegoCustomAudioConfig

自定义音频配置

Declared in ZegoExpressDefines.h

属性

sourceType

sourceType
nonatomic, assign ZegoAudioSourceType sourceType

音频采集源类型

ZegoCustomAudioProcessConfig

自定义音频处理配置对象

详情

包括自定义音频采集类型,采样率,通道数,采样数等参数

Declared in ZegoExpressDefines.h

属性

sampleRate

sampleRate
nonatomic, assign ZegoAudioSampleRate sampleRate

采样率,App 中音频前处理模块期望的输入数据采样率。如果为 0,则默认为 SDK 内部采样率。

channel

channel
nonatomic, assign ZegoAudioChannel channel

声道数,App 中音频前处理模块期望的输入数据声道数。如果为 0,则默认为 SDK 内部声道数

samples

samples
nonatomic, assign int samples

编码一帧所需要的采样数;如果 samples = 0,则使用 SDK 内部采样数,SDK 将音频数据传递给外部前处理模块;如果 samples != 0(则samples 的有效取值在 [160, 2048] 间),SDK 会传递设定采样数长度的音频数据给外部预处理模块。

ZegoCustomPlayerResourceConfig

自定义拉流资源类型配置。

详情

自定义拉流资源类型配置。

Declared in ZegoExpressDefines.h

属性

beforePublish

beforePublish
nonatomic, assign ZegoResourceType beforePublish

开始推流前拉流选择的资源类型。

publishing

publishing
nonatomic, assign ZegoResourceType publishing

推流中拉流选择的资源类型。

afterPublish

afterPublish
nonatomic, assign ZegoResourceType afterPublish

停止推流后拉流选择的资源类型。

ZegoCustomVideoCaptureConfig

自定义视频采集配置

详情

自定义视频采集,即由开发者负责采集视频数据,并将采集到的视频数据发送给 SDK 进行视频数据的编码与推送到 ZEGO RTC 服务器。该功能一般为使用第三方美颜功能或游戏录屏直播的开发者使用。 当需要使用自定义采集功能时需要将该类的实例作为参数设置给 [enableCustomVideoCapture] 函数。 由于使用自定义视频采集时,SDK 将不再启动摄像头去采集视频数据,开发者需自行对视频采集源进行视频数据的采集。

Declared in ZegoExpressDefines.h

属性

bufferType

bufferType
nonatomic, assign ZegoVideoBufferType bufferType

自定义视频采集视频帧数据类型

ZegoCustomVideoProcessConfig

自定义视频前处理配置

Declared in ZegoExpressDefines.h

属性

bufferType

bufferType
nonatomic, assign ZegoVideoBufferType bufferType

自定义视频前处理帧数据类型。默认值为 [ZegoVideoBufferTypeCVPixelBuffer]。

ZegoCustomVideoRenderConfig

自定义视频渲染配置

详情

当需要使用自定义渲染功能时需要将该类的实例作为参数设置给 [enableCustomVideoRender] 函数。

Declared in ZegoExpressDefines.h

属性

bufferType

bufferType
nonatomic, assign ZegoVideoBufferType bufferType

自定义视频渲染视频帧数据类型

frameFormatSeries

frameFormatSeries
nonatomic, assign ZegoVideoFrameFormatSeries frameFormatSeries

自定义视频渲染视频帧数据格式。当 bufferType 设置为 [EncodedData] 时,此成员无效

enableEngineRender

enableEngineRender
nonatomic, assign BOOL enableEngineRender

是否在自定义视频渲染的同时,引擎也渲染,默认为 [false]。当 bufferType 设置为 [EncodedData] 时,此成员无效

ZegoDataRecordConfig

录制配置

Declared in ZegoExpressDefines.h

属性

filePath

filePath
nonatomic, copy NSString * filePath

录制文件保存路径,绝对路径,需要包含文件名, 文件名需指明后缀,目前支持 .mp4/.flv/.aac 格式文件。若多次录制为同一个路径,会覆盖同名的文件。最大长度应小于 1024 字节。

recordType

recordType
nonatomic, assign ZegoDataRecordType recordType

录制文件媒体类型

ZegoDataRecordProgress

文件录制进度

Declared in ZegoExpressDefines.h

属性

duration

duration
nonatomic, assign unsigned long long duration

当前录制时长, 单位为毫秒

currentFileSize

currentFileSize
nonatomic, assign unsigned long long currentFileSize

当前录制文件大小, 单位为字节

quality

quality
nonatomic, strong ZegoPublishStreamQuality * quality

当前录制文件的质量信息

ZegoDeviceInfo

设备信息

详情

包括设备的 ID 与名称

Declared in ZegoExpressDefines.h

属性

deviceID

deviceID
nonatomic, copy NSString * deviceID

设备 ID

deviceName

deviceName
nonatomic, copy NSString * deviceName

设备名称

deviceExtraInfo

deviceExtraInfo
nonatomic, copy NSString * deviceExtraInfo

设备附加信息, 格式:key="value" key2="value2"..., 以换行符 分隔键值对,以等号=分隔key和"value", value的前后还有双引号

ZegoDummyCaptureImageParams

虚拟采集图片参数。

Declared in ZegoExpressDefines.h

属性

path

path
nonatomic, copy NSString * path

图片路径。

mode

mode
nonatomic, assign ZegoDummyCaptureImageMode mode

虚拟采集图片模式。

ZegoDumpDataConfig

转储数据配置。

Declared in ZegoExpressDefines.h

属性

dataType

dataType
nonatomic, assign ZegoDumpDataType dataType

数据类型。

ZegoEffectsBeautyParam

美颜配置参数

详情

配置美颜的美白、红润、磨皮、锐化参数。

Declared in ZegoExpressDefines.h

属性

whitenIntensity

whitenIntensity
nonatomic, assign int whitenIntensity

美白强度参数,取值范围[0,100],默认 50。

rosyIntensity

rosyIntensity
nonatomic, assign int rosyIntensity

红润强度参数,取值范围[0,100],默认 50。

smoothIntensity

smoothIntensity
nonatomic, assign int smoothIntensity

磨皮强度参数,取值范围[0,100],默认 50。

sharpenIntensity

sharpenIntensity
nonatomic, assign int sharpenIntensity

锐化强度参数,取值范围[0,100],默认 50。

ZegoEngineConfig

引擎进阶配置

Declared in ZegoExpressDefines.h

属性

logConfig

logConfig
deprecated
nonatomic, strong, nullable ZegoLogConfig * logConfig

日志配置,未设置时使用默认配置(详见 [ZegoLogConfig])。

已废弃
此属性在版本 2.3.0 以后已废弃,请使用 [setLogConfig] 函数代替。

advancedConfig

advancedConfig
nonatomic, copy, nullable NSDictionary<NSString *, NSString *> * advancedConfig

进阶功能配置,未设置时默认不使用任何特殊功能,如需使用,请联系 ZEGO 技术支持。

ZegoEngineProfile

创建引擎的配置

详情

创建引擎的配置

Declared in ZegoExpressDefines.h

属性

appID

appID
nonatomic, assign unsigned int appID

ZEGO 为开发者签发的应用 ID,请从 ZEGO 管理控制台 https://console-express.zego.im 申请。appID 取值范围 0~4294967295。

appSign

appSign
nonatomic, strong NSString * appSign
  • 取值范围:'0' ~ '9', 'a' ~ 'z'。例:"9dc9a25bh2f2137446897071c8c033fa33b91c3dd2a85e0c000ae82c0dad3"。2.17.0 及以上版本 appSign 允许传空或者不传。如果传空或者不传,则必须在调用 [loginRoom] 接口登录房间时将 token 填入 [ZegoRoomConfig] 参数中,用于鉴权。token 的生成方式请参考 使用 Token 鉴权

scenario

scenario
nonatomic, assign ZegoScenario scenario

房间场景,SDK 会针对指定的场景的做一些音视频配置优化以达成在此场景下最优的效果。指定场景后,开发者可以使用 [setRoomScenario] 来实现在不销毁引擎 [destroyEngine] 的前提下切换其他场景。指定场景后,开发者可以调用其他 API 来继续调整音视频配置。各个场景之间的差异以及如何选择合适的场景请参考 https://doc-zh.zego.im/article/16316

ZegoExpLowlightEnhancementParams

低照度增强参数。

Declared in ZegoExpressDefines.h

属性

mode

mode
nonatomic, assign ZegoLowlightEnhancementMode mode

低照度增强模式。

  • 默认值:Off。

type

type
nonatomic, assign ZegoExpLowlightEnhancementType type

低照度增强类型。

  • 默认值:Normal。

ZegoExpressDefines

Declared in ZegoExpressDefines.h

方法

ZegoDestroyCompletionCallback

ZegoDestroyCompletionCallback
引擎异步销毁完成的回调
Declared in ZegoExpressDefines.h

一般情况下开发者无需关注此回调

ZegoRoomSetRoomExtraInfoCallback

ZegoRoomSetRoomExtraInfoCallback
void(^ZegoRoomSetRoomExtraInfoCallback)((int) errorCode);
设置房间附加信息函数的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRoomLoginCallback

ZegoRoomLoginCallback
void(^ZegoRoomLoginCallback)((int) errorCode, (NSDictionary *) extendedData);
登录房间结果回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
extendedDataNSDictionary *扩展信息

ZegoRoomLogoutCallback

ZegoRoomLogoutCallback
void(^ZegoRoomLogoutCallback)((int) errorCode, (NSDictionary *) extendedData);
登出房间结果回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
extendedDataNSDictionary *扩展信息

ZegoUploadLogResultCallback

ZegoUploadLogResultCallback
void(^ZegoUploadLogResultCallback)((int) errorCode);
日志上传结果回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

调用 [uploadLog] 上传日志后,通过本回调获取上传结果。

  • 业务场景:在上传日志时,为了确定日志是否上传成功,可以通过本回调来获取。
  • 注意事项:在网络较差的情况下,该回调的返回时间可能较长。

ZegoPublisherSetStreamExtraInfoCallback

ZegoPublisherSetStreamExtraInfoCallback
设置流附加信息函数的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoPublisherUpdateCdnUrlCallback

ZegoPublisherUpdateCdnUrlCallback
void(^ZegoPublisherUpdateCdnUrlCallback)((int) errorCode);
添加/删除转推 CDN 函数的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoPublisherTakeSnapshotCallback

ZegoPublisherTakeSnapshotCallback
void(^ZegoPublisherTakeSnapshotCallback)((int) errorCode, (ZGImage * _Nullable) image);
推流画面截图结果回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
imageZGImage * _Nullable截图的图片

ZegoPlayerTakeSnapshotCallback

ZegoPlayerTakeSnapshotCallback
void(^ZegoPlayerTakeSnapshotCallback)((int) errorCode, (ZGImage * _Nullable) image);
拉流画面截图结果回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
imageZGImage * _Nullable截图的图片

ZegoMixerStartCallback

ZegoMixerStartCallback
void(^ZegoMixerStartCallback)((int) errorCode, (NSDictionary * _Nullable) extendedData);
开始混流任务的结果的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
extendedDataNSDictionary * _Nullable扩展信息

ZegoMixerStopCallback

ZegoMixerStopCallback
void(^ZegoMixerStopCallback)((int) errorCode);
结束混流任务的结果的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRealTimeSequentialDataSentCallback

ZegoRealTimeSequentialDataSentCallback
发送实时有序数据的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoIMSendBroadcastMessageCallback

ZegoIMSendBroadcastMessageCallback
void(^ZegoIMSendBroadcastMessageCallback)((int) errorCode, (unsigned long long) messageID);
发送房间聊天消息的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
messageIDunsigned long long此消息的 ID

ZegoIMSendBarrageMessageCallback

ZegoIMSendBarrageMessageCallback
void(^ZegoIMSendBarrageMessageCallback)((int) errorCode, (NSString *) messageID);
发送房间弹幕消息的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
messageIDNSString *此消息的 ID

ZegoIMSendCustomCommandCallback

ZegoIMSendCustomCommandCallback
void(^ZegoIMSendCustomCommandCallback)((int) errorCode);
发送房间自定义信令的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRoomSendTransparentMessageCallback

ZegoRoomSendTransparentMessageCallback
发送透传消息回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoTestNetworkConnectivityCallback

ZegoTestNetworkConnectivityCallback
网络连通性测试结果回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resultZegoTestNetworkConnectivityResult *网络连通性测试结果

ZegoNetworkProbeResultCallback

ZegoNetworkProbeResultCallback
void(^ZegoNetworkProbeResultCallback)((int) errorCode, (ZegoNetworkProbeResult *) result);
网络探测结果回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resultZegoNetworkProbeResult *网络探测结果

ZegoMediaPlayerLoadResourceCallback

ZegoMediaPlayerLoadResourceCallback
void(^ZegoMediaPlayerLoadResourceCallback)((int) errorCode);
播放器加载资源完成回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoMediaPlayerSeekToCallback

ZegoMediaPlayerSeekToCallback
void(^ZegoMediaPlayerSeekToCallback)((int) errorCode);
播放器设置指定播放进度回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoMediaPlayerTakeSnapshotCallback

ZegoMediaPlayerTakeSnapshotCallback
void(^ZegoMediaPlayerTakeSnapshotCallback)((int) errorCode, (ZGImage * _Nullable) image);
媒体播放器播放画面截图的回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
imageZGImage * _Nullable截图的图片

ZegoAudioEffectPlayerLoadResourceCallback

ZegoAudioEffectPlayerLoadResourceCallback
音效播放器加载资源完成回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoAudioEffectPlayerSeekToCallback

ZegoAudioEffectPlayerSeekToCallback
void(^ZegoAudioEffectPlayerSeekToCallback)((int) errorCode);
音效播放器设置指定播放进度回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoCopyrightedMusicInitCallback

ZegoCopyrightedMusicInitCallback
void(^ZegoCopyrightedMusicInitCallback)((int) errorCode);
版权音乐初始化完成回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoCopyrightedMusicSendExtendedRequestCallback

ZegoCopyrightedMusicSendExtendedRequestCallback
void(^ZegoCopyrightedMusicSendExtendedRequestCallback)((int) errorCode, (NSString *) command, (NSString *) result);
发送扩展功能请求完成回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
commandNSString *请求命令,具体支持的命令详见 https://doc-zh.zego.im/article/15077
resultNSString *请求结果,每个请求命令具备对应的请求结果,详细见 https://doc-zh.zego.im/article/15077

ZegoCopyrightedMusicGetLrcLyricCallback

ZegoCopyrightedMusicGetLrcLyricCallback
void(^ZegoCopyrightedMusicGetLrcLyricCallback)((int) errorCode, (NSString *) lyrics);
获取 lrc 格式歌词完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
lyricsNSString *lrc 格式歌词,专用于逐行格式歌词场景,详情请参考 https://doc-zh.zego.im/article/15079#2_1

ZegoCopyrightedMusicGetKrcLyricByTokenCallback

ZegoCopyrightedMusicGetKrcLyricByTokenCallback
void(^ZegoCopyrightedMusicGetKrcLyricByTokenCallback)((int) errorCode, (NSString *) lyrics);
获取逐字歌词完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
lyricsNSString *逐字歌词,详情请参考 https://doc-zh.zego.im/article/15079#2_2

ZegoCopyrightedMusicRequestSongCallback

ZegoCopyrightedMusicRequestSongCallback
void(^ZegoCopyrightedMusicRequestSongCallback)((int) errorCode, (NSString *) resource);
点歌完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resourceNSString *点歌服务返回的 JSON 字符串,包含歌曲资源信息,详细请参考 https://doc-zh.zego.im/article/16708#1_1

ZegoCopyrightedMusicRequestAccompanimentCallback

ZegoCopyrightedMusicRequestAccompanimentCallback
void(^ZegoCopyrightedMusicRequestAccompanimentCallback)((int) errorCode, (NSString *) resource);
点伴奏完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resourceNSString *伴奏资源信息,详情请参考 https://doc-zh.zego.im/article/16708#1_2

ZegoCopyrightedMusicRequestAccompanimentClipCallback

ZegoCopyrightedMusicRequestAccompanimentClipCallback
void(^ZegoCopyrightedMusicRequestAccompanimentClipCallback)((int) errorCode, (NSString *) resource);
点伴奏长分片高潮片段完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resourceNSString *伴奏长分片高潮片段资源信息,详情请参考 https://doc-zh.zego.im/article/16708#1_3

ZegoCopyrightedMusicGetMusicByTokenCallback

ZegoCopyrightedMusicGetMusicByTokenCallback
void(^ZegoCopyrightedMusicGetMusicByTokenCallback)((int) errorCode, (NSString *) resource);
通过授权 token 获取歌曲或伴奏完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resourceNSString *歌曲、伴奏或高潮片段资源信息,详情请参考 https://doc-zh.zego.im/article/16708#1_4

ZegoCopyrightedMusicRequestResourceCallback

ZegoCopyrightedMusicRequestResourceCallback
void(^ZegoCopyrightedMusicRequestResourceCallback)((int) errorCode, (NSString *) resource);
获取音乐资源的完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resourceNSString *点歌服务返回的 JSON 字符串,包含歌曲资源信息,详细请参考 https://doc-zh.zego.im/article/15079#1_1

ZegoCopyrightedMusicGetSharedResourceCallback

ZegoCopyrightedMusicGetSharedResourceCallback
void(^ZegoCopyrightedMusicGetSharedResourceCallback)((int) errorCode, (NSString *) resource);
获取分享音乐资源的完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
resourceNSString *点歌服务返回的 JSON 字符串,包含歌曲资源信息,详细请参考 https://doc-zh.zego.im/article/15079#1_4

ZegoCopyrightedMusicDownloadCallback

ZegoCopyrightedMusicDownloadCallback
void(^ZegoCopyrightedMusicDownloadCallback)((int) errorCode);
下载歌曲或伴奏完成回调。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoCopyrightedMusicGetStandardPitchCallback

ZegoCopyrightedMusicGetStandardPitchCallback
void(^ZegoCopyrightedMusicGetStandardPitchCallback)((int) errorCode, (NSString *) pitch);
获取标准音高数据完成回调
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
pitchNSString *标准音高线数据。详情请参考 Android:https://doc-zh.zego.im/article/15148, iOS:https://doc-zh.zego.im/article/15147

ZegoRangeSceneLoginSceneCallback

ZegoRangeSceneLoginSceneCallback
void(^ZegoRangeSceneLoginSceneCallback)((int) errorCode, (ZegoSceneConfig *) config);
登录场景结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
configZegoSceneConfig *通道数。

ZegoRangeSceneLogoutSceneCallback

ZegoRangeSceneLogoutSceneCallback
void(^ZegoRangeSceneLogoutSceneCallback)((int) errorCode);
退出场景结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneGetUserCountCallback

ZegoRangeSceneGetUserCountCallback
void(^ZegoRangeSceneGetUserCountCallback)((int) errorCode, (unsigned int) count);
获取场景内用户总人数结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
countunsigned int场景内总人数。

ZegoRangeSceneGetUserListInViewCallback

ZegoRangeSceneGetUserListInViewCallback
void(^ZegoRangeSceneGetUserListInViewCallback)((int) errorCode, (NSArray<NSString *> *) userList);
获取范围内用户列表结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
userListNSArray<NSString *> *范围内用户列表。

ZegoRangeSceneSendCustomCommandCallback

ZegoRangeSceneSendCustomCommandCallback
发送用户自定义信令结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneJoinTeamCallback

ZegoRangeSceneJoinTeamCallback
void(^ZegoRangeSceneJoinTeamCallback)((int) errorCode, (unsigned int) teamID);
加入小队结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
teamIDunsigned int小队 ID。

ZegoRangeSceneLeaveTeamCallback

ZegoRangeSceneLeaveTeamCallback
void(^ZegoRangeSceneLeaveTeamCallback)((int) errorCode, (unsigned int) teamID);
离开小队结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
teamIDunsigned int小队 ID。

ZegoRangeSceneCreateItemCallback

ZegoRangeSceneCreateItemCallback
void(^ZegoRangeSceneCreateItemCallback)((int) errorCode, (long long) itemID);
创建物品结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
itemIDlong long物品 ID。

ZegoRangeSceneDestroyItemCallback

ZegoRangeSceneDestroyItemCallback
void(^ZegoRangeSceneDestroyItemCallback)((int) errorCode, (long long) itemID);
销毁物品结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
itemIDlong long物品 ID。

ZegoRangeSceneBindItemCallback

ZegoRangeSceneBindItemCallback
void(^ZegoRangeSceneBindItemCallback)((int) errorCode, (long long) itemID);
绑定物品结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
itemIDlong long物品 ID。

ZegoRangeSceneUnbindItemCallback

ZegoRangeSceneUnbindItemCallback
void(^ZegoRangeSceneUnbindItemCallback)((int) errorCode, (long long) itemID);
解绑物品结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
itemIDlong long物品 ID。

ZegoRangeSceneUpdateItemStatusCallback

ZegoRangeSceneUpdateItemStatusCallback
void(^ZegoRangeSceneUpdateItemStatusCallback)((int) errorCode, (long long) itemID);
更新物品状态结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
itemIDlong long物品 ID。

ZegoRangeSceneUpdateItemCommandCallback

ZegoRangeSceneUpdateItemCommandCallback
void(^ZegoRangeSceneUpdateItemCommandCallback)((int) errorCode, (long long) itemID);
更新物品命令结果回调。请勿在回调线程中调用 SDK 接口。
Declared in ZegoExpressDefines.h
名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
itemIDlong long物品 ID。

ZegoExpressEngine

Declared in ZegoExpressEngine.h

方法

createEngineWithProfile:eventHandler:

static
createEngineWithProfile:eventHandler:
+ (ZegoExpressEngine *)createEngineWithProfile:(ZegoEngineProfile *) profile eventHandler:(nullable id<ZegoEventHandler>) eventHandler;
创建 ZegoExpressEngine 单例对象并初始化 SDK。
Declared in ZegoExpressEngine.h

参数

名称类型描述
profileZegoEngineProfile *用来创建引擎的基础配置信息。
eventHandlernullable id<ZegoEventHandler>事件通知回调。传 [nil] 则意味着不接收任何回调通知,之后也可通过 [setEventHandler] 进行设置。如果重复调用 [createEngine] 且第二次调用前未调用 [destroyEngine] 函数销毁引擎,则 eventHandler 不会被更新。

详情

创建 ZegoExpressEngine 单例对象并初始化 SDK。

  • 调用时机:SDK 其他实例方法调用之前。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无。
  • 注意事项:SDK 只支持创建一个实例,如需重复调用 [createEngine] ,则需在第二次调用 [createEngine] 前先调用 [destroyEngine] 函数销毁引擎,否则再次调用此函数返回的都是上次创建的对象。

返回值

引擎单例对象。

destroyEngine:

static
destroyEngine:
+ (void)destroyEngine:(nullable ZegoDestroyCompletionCallback) callback;
销毁 ZegoExpressEngine 单例对象并反初始化 SDK。
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbacknullable ZegoDestroyCompletionCallback销毁引擎完成的通知回调,可监听此回调以确保设备硬件资源(麦克风、扬声器、摄像头等)被释放完成,若开发者不关注引擎资源的释放时机,该参数可传[nil]。

详情

销毁 ZegoExpressEngine 单例对象并反初始化 SDK。

  • 调用时机:当不再使用 SDK 时,可以通过本接口释放 SDK 使用的资源。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:使用 [createEngine] 创建单例后,如果单例对象未被创建或已被销毁,调用此函数时,不会收到相关回调。

sharedEngine

static
sharedEngine
+ (ZegoExpressEngine *)sharedEngine;
获取引擎单例对象。
Declared in ZegoExpressEngine.h

如果引擎尚未创建或已经销毁,将返回无法使用的引擎对象。

  • 调用时机:创建引擎之后,销毁引擎之前。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

引擎单例对象

setEngineConfig:

static
setEngineConfig:
+ (void)setEngineConfig:(ZegoEngineConfig *) config;
设置引擎进阶配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoEngineConfig *引擎进阶配置

详情

用于开启进阶功能。

  • 调用时机:不同的配置有不同的调用时机要求,详情可咨询 ZEGO 技术支持。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

setLogConfig:

static
setLogConfig:
+ (void)setLogConfig:(ZegoLogConfig *) config;
设置日志配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoLogConfig *日志配置。

详情

开发者当需要自定义日志文件大小和路径时,需要调用此函数来完成配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,若在 [createEngine] 之后设置,则在 [destroyEngine] 后的下一次 [createEngine] 时生效。
  • 支持版本:2.3.0 及以上。
  • 使用限制:无。
  • 注意事项:一旦调用了本接口,通过 [setEngineConfig] 设置日志大小和路径的方式将无效。因此,不建议使用[setEngineConfig] 设置日志大小和路径 。

setLocalProxyConfig:enable:

static
setLocalProxyConfig:enable:
+ (void)setLocalProxyConfig:(NSArray<ZegoProxyInfo *> *) proxyList enable:(BOOL) enable;
设置本地代理配置
Declared in ZegoExpressEngine.h

参数

名称类型描述
proxyListNSArray<ZegoProxyInfo *> *代理详细信息。
enableBOOL是否开启代理。

详情

设置本地代理配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:3.1.0 及以上。
  • 使用限制:[createEngine] 后无法更改代理。
  • 注意事项:无。

setCloudProxyConfig:token:enable:

static
setCloudProxyConfig:token:enable:
+ (void)setCloudProxyConfig:(NSArray<ZegoProxyInfo *> *) proxyList token:(NSString *) token enable:(BOOL) enable;
设置云代理配置
Declared in ZegoExpressEngine.h

参数

名称类型描述
proxyListNSArray<ZegoProxyInfo *> *代理详细信息。
tokenNSString *鉴权信息。如果使用 AppSign 鉴权可忽略,填空。
enableBOOL是否开启代理。

详情

设置云代理配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:3.1.0 及以上。
  • 使用限制:[createEngine] 后无法更改代理。
  • 注意事项:无。

setLicense:

static
setLicense:
+ (void)setLicense:(NSString *) license;
设置 License 鉴权。
Declared in ZegoExpressEngine.h

参数

名称类型描述
licenseNSString *鉴权信息。

详情

当使用 License 鉴权收费的时候,需要调用此函数来完成配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:3.5.0 及以上。
  • 使用限制:不支持中途更改。
  • 注意事项:无。

setRoomMode:

static
setRoomMode:
+ (void)setRoomMode:(ZegoRoomMode) mode;
设置房间模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoRoomMode房间模式。详情描述:用于设置房间模式。业务场景:当需要同时进入多个房间进行推拉流时,可以通过本接口开启多房间模式。是否必填:是。默认值:ZEGO_ROOM_MODE_SINGLE_ROOM。

详情

开发者需要使用多房间功能时,需要调用此函数来完成配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:2.9.0 及以上。
  • 使用限制:如果需要使用多房间功能,请与即构技术支持联系配置服务端支持。
  • 注意事项:无。

setGeoFence:area:

static
setGeoFence:area:
+ (void)setGeoFence:(ZegoGeoFenceType) type area:(NSArray<NSNumber *> *) area;
设置地理围栏。
Declared in ZegoExpressEngine.h

参数

名称类型描述
typeZegoGeoFenceType地理围栏类型。详情描述:用于设置地理围栏类型。
areaNSArray<NSNumber *> *地理围栏区域列表。详情描述:用于描述地理围栏范围。

详情

开发者需要使用地理围栏功能时,需要调用此函数来完成配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:3.4.0 及以上。
  • 使用限制:如果需要使用地理围栏功能,请联系 ZEGO 技术支持。
  • 注意事项:无。

getVersion

static
getVersion
+ (NSString *)getVersion;
获取 SDK 版本号。
Declared in ZegoExpressEngine.h

在 SDK 在运行过程中若遇到异常,可将问题、日志等信息提交 ZEGO 技术人员定位与排障。开发者也可通过该 API 收集当前 SDK 版本信息,便于 App 运营统计以及关联问题。

  • 调用时机:任意时刻。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

SDK 版本号。

setApiCalledCallback:

static
setApiCalledCallback:
+ (void)setApiCalledCallback:(nullable id<ZegoApiCalledEventHandler>) callback;
设置方法执行结果回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbacknullable id<ZegoApiCalledEventHandler>方法执行结果的回调。

详情

设置调用方法执行结果的回调,设置后可以获取到每次执行 ZEGO SDK 方法结果的详细信息。

  • 调用时机:任意时刻。
  • 支持版本:2.3.0 及以上。
  • 使用限制:无。
  • 注意事项:建议开发者在需要获取每个接口的调用结果时才调用本接口,比如在排查、追踪问题的情况,一般情况下开发者不需要关注本接口。

isFeatureSupported:

static
isFeatureSupported:
+ (BOOL)isFeatureSupported:(ZegoFeatureType) featureType;
查询当前 SDK 是否支持指定的功能特性。
Declared in ZegoExpressEngine.h

参数

名称类型描述
featureTypeZegoFeatureType要查询的功能特性类型。

详情

由于 SDK 支持特性裁包,部分特性可能已被裁剪; 可以使用此函数快速判断当前 SDK 是否支持指定的功能特性,例如,查询是否支持媒体播放器功能。

  • 调用时机:任意时刻。
  • 支持版本:2.22.0 及以上。

返回值

是否支持指定功能特性。true 表示支持;false 表示不支持。

submitLog

static
submitLog
+ (void)submitLog;
上传日志到 ZEGO 服务器。
Declared in ZegoExpressEngine.h

默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。

  • 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
  • 调用时机:无。
  • 支持版本:3.7.0 及以上。
  • 使用限制:限频每分钟1次。
  • 注意事项:1.在调用本接口上传日志后,如果过快的调用 [destroyEngine] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destroyEngine] 或 退出 App。2.支持在 [createEngine] 之前调用,如果之前调用过 [createEngine],就会以最后一次的 appid 来上传日志,否则会等待下次 [createEngine] 才上传日志。

createEngineWithAppID:appSign:isTestEnv:scenario:eventHandler:

static
createEngineWithAppID:appSign:isTestEnv:scenario:eventHandler:
deprecated
+ (ZegoExpressEngine *)createEngineWithAppID:(unsigned int) appID appSign:(NSString *) appSign isTestEnv:(BOOL) isTestEnv scenario:(ZegoScenario) scenario eventHandler:(nullable id<ZegoEventHandler>) eventHandler;
【已废弃】创建 ZegoExpressEngine 单例对象并初始化 SDK。此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。请参考 [测试环境废弃说明](https://doc-zh.zego.im/article/13100)
Declared in ZegoExpressEngine.h

参数

名称类型描述
appIDunsigned intZEGO 为开发者签发的应用 ID,请从 ZEGO 管理控制台 https://console-express.zego.im 申请。appID 取值范围 0~4294967295。
appSignNSString *每个 AppID 对应的应用签名,请从 ZEGO 管理控制台申请。该参数为包含 64 个字符的字符串,字符取值范围:'0' ~ '9', 'a' ~ 'z'。例:"9dc9a25bh2f2137446897071c8c033fa33b91c3dd2a85e0c000ae82c0dad3"。2.17.0 及以上版本 appSign 允许传空或者不传。如果传空或者不传,则必须在调用 [loginRoom] 接口登录房间时将 token 填入 [ZegoRoomConfig] 参数中,用于鉴权。token 的生成方式请参考 使用 Token 鉴权
isTestEnvBOOL【已废弃】为提供更便捷、更标准的服务,ZEGO 已统一环境概念,2021-11-16 之后,不再有正式环境/测试环境之分,2021-11-16 及之前在 ZEGO 控制台 创建项目的用户,可参考 测试环境废弃说明 进行 SDK 升级和调整相关代码。
scenarioZegoScenario房间场景,SDK 会针对指定的场景的做一些音视频配置优化以达成在此场景下最优的效果。指定场景后,开发者可以使用 [setRoomScenario] 来实现在不销毁引擎 [destroyEngine] 的前提下切换其他场景。指定场景后,开发者可以调用其他 API 来继续调整音视频配置。各个场景之间的差异以及如何选择合适的场景请参考 https://doc-zh.zego.im/article/16316
eventHandlernullable id<ZegoEventHandler>事件通知回调。传 [nil] 则意味着不接收任何回调通知,之后也可通过 [setEventHandler] 进行设置。如果重复调用 [createEngine] 且第二次调用前未调用 [destroyEngine] 函数销毁引擎,则 eventHandler 不会被更新。

详情

创建 ZegoExpressEngine 单例对象并初始化 SDK。

  • 调用时机:SDK 其他实例方法调用之前。
  • 支持版本:1.1.0 ~ 2.13.1,此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。
  • 使用限制:无。
  • 注意事项:SDK 只支持创建一个实例,如需重复调用 [createEngine] ,则需在第二次调用 [createEngine] 前先调用 [destroyEngine] 函数销毁引擎,否则再次调用此函数返回的都是上次创建的对象。
已废弃
此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。

返回值

引擎单例对象

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoEventHandler>) eventHandler;
设置事件通知回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
eventHandlernullable id<ZegoEventHandler>事件通知回调。传 [nil] 则清空已设置的回调。开发者应根据自身业务场景,监听相应的回调。SDK 主要的回调函数都在这里。

详情

设置事件通知回调,用于监听如 engine 状态变化、room 状态变化等回调。

  • 调用时机:在 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:调用此函数或 [createEngine] 设置了回调后,除非调用此函数清空回调,否则再次设置一个回调将不生效。在调用 [destroyEngine] 销毁引擎之后,该回调会失效,在下一次 [createEngine] 后需要重新设置。

setRoomScenario:

setRoomScenario:
- (void)setRoomScenario:(ZegoScenario) scenario;
设置房间场景。
Declared in ZegoExpressEngine.h

参数

名称类型描述
scenarioZegoScenario房间场景。

详情

开发者可设置房间的使用场景,SDK 会针对不同的场景采取不同的优化策略,以便获取更优的效果;此函数的作用与 [createEngine] 的 [profile] 配置中的 [scenario] 参数完全一致。

  • 业务场景:此函数适用于多种音视频业务场景的 App,例如有 1v1 音视频通话场景和秀场直播场景;通过此函数可以实现在不销毁引擎 [destroyEngine] 的前提下切换场景。
  • 调用时机:必须在调用 [createEngine] 之后且调用 [loginRoom] 之前设置。
  • 支持版本:3.0.0 及以上。
  • 使用限制:一旦登录了房间就不再允许修改房间场景,若需要修改场景需要先退出房间,若登录了多个房间则需要退出所有房间后才能修改。
  • 注意事项: 1. 同一个房间内的用户建议使用同一种房间场景以获得最佳效果。 2. 设置场景会影响音视频码率、帧率、分辨率、编码类型、音频设备模式、路由、流控、3A、耳返等音视频配置,若开发者有特殊需求可以在设置房间场景后再调用其他各种 API 来设置上述配置。 3. 调用此函数将覆盖 [createEngine] 时指定的场景或上一次调用此函数设置的场景。 4. 调用此函数将覆盖你通过 [setVideoConfig], [setAudioConfig] 等 API 设置的音视频相关配置,因此建议先第一时间设置场景再通过其他 API 调整音视频配置。

uploadLog

uploadLog
- (void)uploadLog;
上传日志到 ZEGO 服务器。
Declared in ZegoExpressEngine.h

默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。

  • 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
  • 调用时机:在 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:限频每分钟1次。
  • 注意事项:1.在调用本接口上传日志后,如果过快的调用 [destroyEngine] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destroyEngine] 或 退出 App。2.如果希望在 [createEngine] 之前调用,请调用 [submitLog] 接口。

uploadLog:

uploadLog:
- (void)uploadLog:(nullable ZegoUploadLogResultCallback) callback;
上传日志到 ZEGO 服务器,带回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbacknullable ZegoUploadLogResultCallback日志上传结果回调。

详情

默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。

  • 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
  • 调用时机:在 [createEngine] 后。
  • 支持版本:2.4.0 及以上。
  • 使用限制:限频每分钟1次。
  • 注意事项:1. 在调用本接口上传日志后,如果过快的调用 [destroyEngine] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destroyEngine] 或 退出 App。2.如果希望在 [createEngine] 之前调用,请调用 [submitLog] 接口。

enableDebugAssistant:

enableDebugAssistant:
- (void)enableDebugAssistant:(BOOL) enable;
开启调试助手。注意,请勿在线上版本开启此功能!仅在开发阶段使用!
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启调试助手。

详情

开启后,SDK 将会打印日志到控制台,并且将会在 SDK 其他函数的调用发生问题时 UI 弹窗提示错误。

  • 默认值:默认不开启。
  • 调用时机:可在创建引擎 [createEngine] 后立刻调用此函数。
  • 平台差异:弹窗提示功能仅支持 Android / iOS / macOS / Windows,而输出控制台日志功能支持全平台。
  • 支持版本:2.17.0 及以上。
  • 使用限制:无。
  • 注意事项:请务必在 App 发布前确认此功能已关闭,以避免在正式版本中当发生错误时弹出 UI 提示。建议将此函数的 [enable] 参数与 App 的 DEBUG 变量相关联,即仅在 DEBUG 环境下开启调试助手。

callExperimentalAPI:

callExperimentalAPI:
- (NSString *)callExperimentalAPI:(NSString *) params;
调用实验性 API。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramsNSString *传入的参数,格式为 JSON 字符串,具体可咨询 ZEGO 技术支持。

详情

ZEGO 通过此 API 提供 RTC 业务中的部分技术预览或特别定制功能,需要获取功能的使用或详情其详情可咨询 ZEGO 技术支持。

  • 调用时机:在 [createEngine] 后。
  • 支持版本:2.7.0 及以上。

返回值

返回的参数,格式为 JSON 字符串,具体可咨询 ZEGO 技术支持。

loginRoom:user:

loginRoom:user:
- (void)loginRoom:(NSString *) roomID user:(ZegoUser *) user;
登录房间,推拉流前必须登录房间。
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
userZegoUser *用户对象实例,配置用户 ID、用户名。 注意事项:注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登录的用户踢掉先登录的用户的情况。

详情

如果房间不存在,[loginRoom] 会创建并登录房间。 SDK 用"房间"概念来组织用户,用户必须首先登录某个房间,才能进行一系列关键操作,比如推流 [startPublishingStream]、拉流[startPlayingStream]、收发广播消息 [sendBroadcastMessage] 等。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:在 [createEngine] 初始化 SDK 之后调用该函数。
  • 相关回调: 1. 当用户开始登录房间、登录房间成功或登录房间失败后,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。 2. 登录同一个房间的不同用户可以得到以相同房间为单位的房间信令通知(例如:[onRoomUserUpdate], [onRoomStreamUpdate] 等),一个房间内的用户收不到另一个房间房间信令的通知。 3. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调获取本端当前房间连接状态的变化情况,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 一个房间发的消息(例如 [setStreamExtraInfo], [sendBroadcastMessage], [sendBarrageMessage], [sendCustomCommand] 等)在别的房间无法收到(例如 [onRoomStreamExtraInfoUpdate], [onIMRecvBroadcastMessage], [onIMRecvBarrageMessage], [onIMRecvCustomCommand] 等),目前 ZegoExpressEngine 未提供跨房间消息的能力。开发者可以集成 IM 的 SDK 来实现。
  • 相关接口: 1. 可调用 [logoutRoom] 退出登录,如果没有退出登录而重复调用登录接口(roomID 和 user 保持相同的情况下),控制台会报错,打印错误码 1002001。 2. 如果需要登录多个房间,请在创建引擎前通过 [ZegoRoomMode] 选择多房间模式,然后调用 [loginRoom] 接口登录多房间。 3. 调用 [destroyEngine] 也会使用户自动退出登录。
  • 支持版本:1.1.0 及以上。
  • 使用限制:同一房间登录接口的调用频率 (QPS) 有一定限制,详情查阅 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. SDK 支持拉相同 appID 下非同一个房间的流,即跨房间拉流。由于 SDK 的房间信令的相关回调通知是以相同房间为单位,当开发者想要跨房间拉流时,开发者需自行维护相关的消息及信令通知。 3. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 4. 首次因网络原因登录失败或者房间断开连接之后,SDK 重连默认时间为 20min。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

loginRoom:user:config:

loginRoom:user:config:
- (void)loginRoom:(NSString *) roomID user:(ZegoUser *) user config:(ZegoRoomConfig *) config;
使用配置进阶属性的方式登录房间,推拉流前必须登录房间。
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
userZegoUser *用户对象实例,配置用户 ID、用户名。 注意事项:注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登录的用户踢掉先登录的用户的情况。
configZegoRoomConfig *房间进阶配置。

详情

如果房间不存在,[loginRoom] 会创建并登录房间。 SDK 用"房间"概念来组织用户,用户必须首先登录某个房间,才能进行一系列关键操作,比如推流 [startPublishingStream]、拉流[startPlayingStream]、收发广播消息 [sendBroadcastMessage] 等。为了防止 App 被恶意用户模拟登录,可以在登录房间之前加上鉴权验证,即 [config] 参数传入的 ZegoRoomConfig 对象中的 [token] 参数。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:在 [createEngine] 初始化 SDK 之后调用该函数。
  • 相关回调: 1. 当用户开始登录房间、登录房间成功或登录房间失败后,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。 2. 登录同一个房间的不同用户可以得到以相同房间为单位的房间信令通知(例如:[onRoomUserUpdate], [onRoomStreamUpdate] 等),一个房间内的用户收不到另一个房间房间信令的通知。 3. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调获取本端当前房间连接状态的变化情况,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 一个房间发的消息(例如 [setStreamExtraInfo], [sendBroadcastMessage], [sendBarrageMessage], [sendCustomCommand] 等)在别的房间无法收到(例如 [onRoomStreamExtraInfoUpdate], [onIMRecvBroadcastMessage], [onIMRecvBarrageMessage], [onIMRecvCustomCommand] 等),目前 ZegoExpressEngine 未提供跨房间消息的能力。开发者可以集成 IM 的 SDK 来实现。
  • 相关接口: 1. 可调用 [logoutRoom] 退出登录,如果没有退出登录而重复调用登录接口(roomID 和 user 保持相同的情况下),控制台会报错,打印错误码 1002001。 2. 如果需要登录多个房间,请在创建引擎前通过 [ZegoRoomMode] 选择多房间模式,然后调用 [loginRoom] 接口登录多房间。 3. 调用 [destroyEngine] 也会使用户自动退出登录。
  • 支持版本:1.1.0 及以上。
  • 使用限制:同一房间登录接口的调用频率 (QPS) 有一定限制,详情查阅 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. SDK 支持拉相同 appID 下非同一个房间的流,即跨房间拉流。由于 SDK 的房间信令的相关回调通知是以相同房间为单位,当开发者想要跨房间拉流时,开发者需自行维护相关的消息及信令通知。 3. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 4. 首次因网络原因登录失败或者房间断开连接之后,SDK 重连默认时间为 20min。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

loginRoom:user:config:callback:

loginRoom:user:config:callback:
- (void)loginRoom:(NSString *) roomID user:(ZegoUser *) user config:(ZegoRoomConfig *) config callback:(ZegoRoomLoginCallback) callback;
使用带配置进阶属性的方式登录房间,通过回调参数返回登录结果,推拉流前必须登录房间。
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
userZegoUser *用户对象实例,配置用户 ID、用户名。 注意事项:注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登录的用户踢掉先登录的用户的情况。
configZegoRoomConfig *房间进阶配置。
callbackZegoRoomLoginCallback本次登录结果的回调,如果需要详细的房间状态,请关注 [onRoomStateChanged] 回调。是否必填:否。默认值:nil。注意事项:如果因为网络问题导致多次重试连接,重试状态将不会通过此回调抛出。

详情

如果房间不存在,[loginRoom] 会创建并登录房间。SDK 用"房间"概念来组织用户,用户必须首先登录某个房间,才能进行一系列关键操作,比如推流 [startPublishingStream]、拉流[startPlayingStream]、收发广播消息 [sendBroadcastMessage] 等。为了防止 App 被恶意用户模拟登录,可以在登录房间之前加上鉴权验证,即 [config] 参数传入的 ZegoRoomConfig 对象中的 [token] 参数。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:在 [createEngine] 初始化 SDK 之后调用该函数。
  • 相关回调: 1. 当用户开始登录房间、登录房间成功或登录房间失败后,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。 2. 登录同一个房间的不同用户可以得到以相同房间为单位的房间信令通知(例如:[onRoomUserUpdate], [onRoomStreamUpdate] 等),一个房间内的用户收不到另一个房间房间信令的通知。 3. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调获取本端当前房间连接状态的变化情况,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 一个房间发的消息(例如 [setStreamExtraInfo], [sendBroadcastMessage], [sendBarrageMessage], [sendCustomCommand] 等)在别的房间无法收到(例如 [onRoomStreamExtraInfoUpdate], [onIMRecvBroadcastMessage], [onIMRecvBarrageMessage], [onIMRecvCustomCommand] 等),目前 ZegoExpressEngine 未提供跨房间消息的能力。开发者可以集成 IM 的 SDK 来实现。
  • 相关接口: 1. 可调用 [logoutRoom] 退出登录,如果没有退出登录而重复调用登录接口(roomID 和 user 保持相同的情况下),控制台会报错,打印错误码 1002001。 2. 如果需要登录多个房间,请在创建引擎前通过 [ZegoRoomMode] 选择多房间模式,然后调用 [loginRoom] 接口登录多房间。 3. 调用 [destroyEngine] 也会使用户自动退出登录。
  • 支持版本:2.18.0 及以上。
  • 使用限制:同一房间登录接口的调用频率 (QPS) 有一定限制,详情查阅 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. SDK 支持拉相同 appID 下非同一个房间的流,即跨房间拉流。由于 SDK 的房间信令的相关回调通知是以相同房间为单位,当开发者想要跨房间拉流时,开发者需自行维护相关的消息及信令通知。 3. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 4. 首次因网络原因登录失败或者房间断开连接之后,SDK 重连默认时间为 20min。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

logoutRoom

logoutRoom
- (void)logoutRoom;
退出房间。
Declared in ZegoExpressEngine.h

该接口会退出当前用户已登录的房间,若开启了多房间,则全部房间均会被退出。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:登录房间成功后,若不再使用房间功能,用户可以调用函数 [logoutRoom]。
  • 相关回调:调用此函数后会收到 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知成功退出房间,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知(开启 isUserStatusNotify 配置的前提下)。
  • 相关接口:用户可以调用 [loginRoom]、[switchRoom] 函数登录或更换房间。
  • 支持版本:2.9.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 退出房间会停止该用户的所有推拉流,引擎会停止,SDK 内部会主动停止本地预览。如果切换房间想保留预览能力,请使用 [switchRoom] 函数。2. 若用户未登录房间,调用该接口也会返回成功。

logoutRoomWithCallback:

logoutRoomWithCallback:
- (void)logoutRoomWithCallback:(ZegoRoomLogoutCallback) callback;
退出房间,带回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbackZegoRoomLogoutCallback本次登出房间结果的回调,如果需要详细房间状态,请关注 [onRoomStateChagned] 回调。是否必填:否。默认值:nil。

详情

该接口会退出当前用户已登录的房间,若开启了多房间,则全部房间均会被退出。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:登录房间成功后,若不再使用房间功能,用户可以调用函数 [logoutRoom]。
  • 相关回调:调用此函数后会收到 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知成功退出房间,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知(开启 isUserStatusNotify 配置的前提下)。
  • 相关接口:用户可以调用 [loginRoom]、[switchRoom] 函数登录或更换房间。
  • 支持版本:2.9.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 退出房间会停止该用户的所有推拉流,引擎会停止,SDK 内部会主动停止本地预览。如果切换房间想保留预览能力,请使用 [switchRoom] 函数。2. 若用户未登录房间,调用该接口也会返回成功。

logoutRoom:

logoutRoom:
- (void)logoutRoom:(NSString *) roomID;
退出指定房间 ID 的房间。
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *房间 ID,最大长度为 128 字节的字符串。
注意事项:
1. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
2. 如果需要与 Web SDK 互通,请不要使用 '%'。

详情

该接口会退出房间名为 roomID 的房间。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:登录房间成功后,若不再使用房间功能,用户可以调用函数 [logoutRoom]。
  • 相关回调:调用此函数后会收到 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知成功退出房间,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知(开启 isUserStatusNotify 配置的前提下)。
  • 相关接口:用户可以调用 [loginRoom]、[switchRoom] 函数登录或更换房间。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 退出房间会停止该用户的所有推拉流,引擎会停止,SDK 内部会主动停止本地预览。如果切换房间想保留预览能力,请使用 [switchRoom] 函数。2. 若用户登出房间,但传入 roomID 与已登录房间名不同,SDK 会返回失败。

logoutRoomWithCallback:callback:

logoutRoomWithCallback:callback:
- (void)logoutRoomWithCallback:(NSString *) roomID callback:(ZegoRoomLogoutCallback) callback;
退出指定房间 ID 的房间,并带有回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *房间 ID,最大长度为 128 字节的字符串。
注意事项:
1. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
2. 如果需要与 Web SDK 互通,请不要使用 '%'。
callbackZegoRoomLogoutCallback本次登出房间结果的回调,如果需要详细房间状态,请关注 [onRoomStateChagned] 回调。是否必填:否。默认值:nil。

详情

该接口会退出房间名为 roomID 的房间。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:登录房间成功后,若不再使用房间功能,用户可以调用函数 [logoutRoom]。
  • 相关回调:调用此函数后会收到 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知成功退出房间,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知(开启 isUserStatusNotify 配置的前提下)。
  • 相关接口:用户可以调用 [loginRoom]、[switchRoom] 函数登录或更换房间。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 退出房间会停止该用户的所有推拉流,引擎会停止,SDK 内部会主动停止本地预览。如果切换房间想保留预览能力,请使用 [switchRoom] 函数。2. 若用户登出房间,但传入 roomID 与已登录房间名不同,SDK 会返回失败。

switchRoom:toRoomID:

switchRoom:toRoomID:
- (void)switchRoom:(NSString *) fromRoomID toRoomID:(NSString *) toRoomID;
切换房间。
Declared in ZegoExpressEngine.h

参数

名称类型描述
fromRoomIDNSString *当前处于的房间 ID。
toRoomIDNSString *需要登录的下一个房间 ID。

详情

使用该接口可以让用户快速从一个房间切换到另外一个房间。

  • 业务场景:若需要快速切换到下一个房间,可调用此函数。
  • 调用时机:登录房间成功后。
  • 相关回调:当用户调用 [switchRoom] 函数时,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。
  • 相关接口:用户可以调用 [logoutRoom] 函数退出房间。
  • 支持版本:1.14.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 当调用此函数后,当前正在推或拉的所有流都将会停止(但本地预览不会停止)。 2. 3.5.0 版本开始支持多房间模式(使用函数 [setRoomMode] 设置 ZegoRoomMode 为 ZEGO_ROOM_MODE_MULTI_ROOM)。 3. 若登录房间 [loginRoom] 时传入了 Token 进行登录,则调用 [switchroom] 切换房间时,必须使用带有 config 参数的 [switchroom] 接口切换房间,并传入对应 Token 值。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

switchRoom:toRoomID:config:

switchRoom:toRoomID:config:
- (void)switchRoom:(NSString *) fromRoomID toRoomID:(NSString *) toRoomID config:(ZegoRoomConfig *) config;
使用配置进阶属性的方式切换房间。
Declared in ZegoExpressEngine.h

参数

名称类型描述
fromRoomIDNSString *当前处于的房间 ID。
toRoomIDNSString *需要登录的下一个房间 ID。
configZegoRoomConfig *房间进阶配置。

详情

使用此函数可以让用户快速从一个房间切换到另外一个房间。

  • 业务场景:若需要快速切换到下一个房间,可调用此函数。
  • 调用时机:登录房间成功后。
  • 相关回调:当用户调用 [switchRoom] 函数时,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。
  • 相关接口:用户可以调用 [logoutRoom] 函数退出房间。
  • 支持版本:1.15.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 当调用此函数后,当前正在推或拉的所有流都将会停止(但本地预览不会停止)。 2. 为了防止 App 被恶意用户模拟登录,可以在切换房间之前加上鉴权验证,即 [config] 参数传入的 ZegoRoomConfig 对象中的 [token] 参数。此参数配置作用于即将切换过去的房间。 3. 3.5.0 版本开始支持多房间模式(使用函数 [setRoomMode] 设置 ZegoRoomMode 为 ZEGO_ROOM_MODE_MULTI_ROOM)。 4. 若登录房间 [loginRoom] 时传入了 Token 进行登录,则调用 [switchroom] 切换房间时,必须使用带有 config 参数的 [switchroom] 接口切换房间,并传入对应 Token 值。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

renewToken:roomID:

renewToken:roomID:
- (void)renewToken:(NSString *) token roomID:(NSString *) roomID;
更新 token 鉴权信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
tokenNSString *需要更新的 token。
roomIDNSString *房间 ID。

详情

当开发者收到 [onRoomTokenWillExpire] 之后,可使用此 API 更新 token 鉴权信息,保障后续 RTC 功能正常。

  • 业务场景:Token 将要过期时使用。
  • 调用时机:收到 [onRoomTokenWillExpire] 之后。
  • 支持版本:2.8.0 及以上。
  • 使用限制:无。
  • 注意事项:Token 中包含用户的房间权限、推流权限、有效时间等重要信息,详情请参考 https://doc-zh.zego.im/article/10360

setRoomExtraInfo:forKey:roomID:callback:

setRoomExtraInfo:forKey:roomID:callback:
- (void)setRoomExtraInfo:(NSString *) value key:(NSString *) forKey roomID:(NSString *) roomID callback:(nullable ZegoRoomSetRoomExtraInfoCallback) callback;
设置房间附加消息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
valueNSString *附加消息值。
keyNSString *附加消息键。
roomIDNSString *房间 ID。
callbacknullable ZegoRoomSetRoomExtraInfoCallback设置房间附加消息结果回调。

详情

用户调用此函数设置房间的附加消息。

  • 业务场景:可以设置一些房间相关的业务属性,比如是否有人在上麦。
  • 调用时机:登录房间成功后。
  • 相关回调:相同房间内的其他用户会通过 [onRoomExtraInfoUpdate] 回调函数获得通知。
  • 相关接口:无。
  • 支持版本:1.13.0 及以上。
  • 使用限制:关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项:key、value 的限制,请参考“使用限制”。新设置的 value 会覆盖旧的设置。

getRoomStreamList:streamListType:

getRoomStreamList:streamListType:
- (ZegoRoomStreamList *)getRoomStreamList:(NSString *) roomID streamListType:(ZegoRoomStreamListType) streamListType;
获取房间内流列表。
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *房间 ID。
streamListTypeZegoRoomStreamListType获取类型

详情

获取房间内流列表。

  • 业务场景:获取房间内流列表
  • 调用时机:登录房间成功后。
  • 相关接口:无。
  • 支持版本:3.12.0 及以上。
  • 注意事项:该接口是获取实时内部的流列表,在房间与服务断开链接的状态下,可能会不准确。请勿高频调用本接口。

返回值

返回的列表

startPublishingStream:

startPublishingStream:
- (void)startPublishingStream:(NSString *) streamID;
开始推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器 或 CDN,同一房间的其他用户通过 "streamID" 或 CDN 拉流地址就可以拉取该音视频流进行观看。

  • 业务场景:可以用于实时连麦、直播等场景下进行推流。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 开始推流前,用户可选择调用 [setVideoConfig] 设置相关视频参数,调用 [startPreview] 进行视频预览。 2. 当推流成功之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来获取流的新增情况。 3. 在网络质量不佳的情况下,用户推流可能出现中断,SDK 会尝试重连并推流(连接成功后 SDK 会自动进行推流),开发者可通过监听 [onPublisherStateUpdate] 事件来获知当前推流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect

startPublishingStream:channel:

startPublishingStream:channel:
- (void)startPublishingStream:(NSString *) streamID channel:(ZegoPublishChannel) channel;
开始推流,可选择推第二路流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。
channelZegoPublishChannel推流通道。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器 或 CDN,同一房间的其他用户通过 "streamID" 或 CDN 拉流地址就可以拉取该音视频流进行观看。

  • 业务场景:可以用于实时连麦、直播等场景下进行推流。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 开始推流前,用户可选择调用 [setVideoConfig] 设置相关视频参数,调用 [startPreview] 进行视频预览。 2. 当推流成功之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来获取流的新增情况。 3. 在网络质量不佳的情况下,用户推流可能出现中断,SDK 会尝试重连并推流(连接成功后 SDK 会自动进行推流),开发者可通过监听 [onPublisherStateUpdate] 事件来获知当前推流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect

startPublishingStream:config:channel:

startPublishingStream:config:channel:
- (void)startPublishingStream:(NSString *) streamID config:(ZegoPublisherConfig *) config channel:(ZegoPublishChannel) channel;
开始推流,支持多房间模式
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。
configZegoPublisherConfig *推流进阶配置。
channelZegoPublishChannel推流通道。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器 或 CDN,同一房间的其他用户通过 "streamID" 或 CDN 拉流地址就可以拉取该音视频流进行观看。

  • 业务场景:可以用于实时连麦、直播等场景下进行推流。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 开始推流前,用户可选择调用 [setVideoConfig] 设置相关视频参数,调用 [startPreview] 进行视频预览。 2. 当推流成功之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来获取流的新增情况。 3. 在网络质量不佳的情况下,用户推流可能出现中断,SDK 会尝试重连并推流(连接成功后 SDK 会自动进行推流),开发者可通过监听 [onPublisherStateUpdate] 事件来获知当前推流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 调用 [SetRoomMode] 函数选择多房间,必须明确指定房间 ID。

startPublishingStreamInScene:channel:config:

startPublishingStreamInScene:channel:config:
- (void)startPublishingStreamInScene:(NSString *) streamID channel:(ZegoPublishChannel) channel config:(ZegoScenePublisherConfig *) config;
在范围场景内推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。
channelZegoPublishChannel推流通道。
configZegoScenePublisherConfig *场景推流进阶配置。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器。

  • 业务场景:范围场景场景下推流。
  • 调用时机:调用 [loginScene] 加入场景后调用该函数。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

stopPublishingStream

stopPublishingStream
- (void)stopPublishingStream;
停止推流。
Declared in ZegoExpressEngine.h

用户停止发送本地的音视频流,房间内其他用户会收到流删除通知。

  • 业务场景:可以用于实时连麦、直播等场景下停止推流。
  • 调用时机:调用 [startPublishingStream] 开始推流后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 在停止推流之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来收到流的删除通知。 2. 如果用户已经启动推流,在推送新流(与之前的 streamID 不同)之前,必须要调用此函数停止当前流的推送,否则新流推送会返回失败。 3. 在停止推流之后,开发者应该根据业务情况来决定是否需要停止本地预览。

stopPublishingStream:

stopPublishingStream:
- (void)stopPublishingStream:(ZegoPublishChannel) channel;
停止推流,可停止指定通道的音视频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

用户停止发送本地的音视频流,房间内其他用户会收到流删除通知。

  • 业务场景:可以用于实时连麦、直播等场景下停止推流。
  • 调用时机:调用 [startPublishingStream] 开始推流后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 在停止推流之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来收到流的删除通知。 2. 如果用户已经启动推流,在推送新流(与之前的 streamID 不同)之前,必须要调用此函数停止当前流的推送,否则新流推送会返回失败。 3. 在停止推流之后,开发者应该根据业务情况来决定是否需要停止本地预览。

setStreamExtraInfo:callback:

setStreamExtraInfo:callback:
- (void)setStreamExtraInfo:(NSString *) extraInfo callback:(nullable ZegoPublisherSetStreamExtraInfoCallback) callback;
设置流附加信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
extraInfoNSString *流附加信息,长度不超过1024的字符串。
callbacknullable ZegoPublisherSetStreamExtraInfoCallback更新流附加信息执行结果通知。

详情

可通过此函数设置当前推流的流附加信息。流附加信息是流 ID 的附加信息标识,不同于流 ID 在推流过程中不可修改,流附加信息可以在对应流 ID 的推流中途修改。开发者可根据流附加信息来实现流 ID 相关的可变内容的同步。

  • 调用时机:在创建引擎 [createEngine] 之后,在推流 [startPublishingStream] 前后调用都可生效。
  • 相关回调:相同房间内的其他用户会通过 [onRoomStreamExtraInfoUpdate] 回调函数获得通知。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

setStreamExtraInfo:channel:callback:

setStreamExtraInfo:channel:callback:
- (void)setStreamExtraInfo:(NSString *) extraInfo channel:(ZegoPublishChannel) channel callback:(nullable ZegoPublisherSetStreamExtraInfoCallback) callback;
设置指定推流通道的流附加信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
extraInfoNSString *流附加信息,长度不超过1024的字符串。
channelZegoPublishChannel推流通道。
callbacknullable ZegoPublisherSetStreamExtraInfoCallback设置流附加信息执行结果通知。

详情

可通过此函数设置当前推流的流附加信息。流附加信息是流 ID 的附加信息标识,不同于流 ID 在推流过程中不可修改,流附加信息可以在对应流 ID 的推流中途修改。开发者可根据流附加信息来实现流 ID 相关的可变内容的同步。

  • 调用时机:在创建引擎 [createEngine] 之后,在推流 [startPublishingStream] 前后调用都可生效。
  • 相关回调:结果会通过 [ZegoPublisherSetStreamExtraInfoCallback] 回调通知。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

startPreview:

startPreview:
- (void)startPreview:(ZegoCanvas *) canvas;
启动/更新本地预览。
Declared in ZegoExpressEngine.h

参数

名称类型描述
canvasZegoCanvas *启动预览时用于显示画面的视图,视图设置为 nil 则不进行预览。

详情

用户通过调用此函数可以看到自己本地的画面。

  • 业务场景:可以用于实时连麦、直播等场景下的本地预览。
  • 调用时机:调用 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 预览功能不需要先登录房间或推流,但是在退出房间之后 SDK 内部默认会主动停止预览。2. 可以通过再次调用此函数来切换视图或修改预览模式(ZegoViewMode)。用户只能在一个视图上预览,如果再次调用 [startPreview] 传入新的视图,则预览画面只会在新视图展现。3. 可以通过调用 [setVideoMirrorMode] 函数来设置预览画面的镜像模式,移动端默认开启预览画面的镜像效果。4. 调用此函数后,SDK 会启动音视频引擎,并尝试采集音频与视频。

startPreview:channel:

startPreview:channel:
- (void)startPreview:(ZegoCanvas *) canvas channel:(ZegoPublishChannel) channel;
启动/更新本地预览,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
canvasZegoCanvas *启动预览时用于显示画面的视图,视图设置为 nil 则不进行预览。
channelZegoPublishChannel推流通道

详情

用户通过调用此函数可以看到自己本地的画面。

  • 业务场景:可以用于实时连麦、直播等场景下的本地预览。
  • 调用时机:调用 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 预览功能不需要先登录房间或推流,但是在退出房间之后 SDK 内部默认会主动停止预览。2. 可以通过再次调用此函数来切换视图或修改预览模式(ZegoViewMode)。用户只能在一个视图上预览,如果再次调用 [startPreview] 传入新的视图,则预览画面只会在新视图展现。3. 可以通过调用 [setVideoMirrorMode] 函数来设置预览画面的镜像模式,移动端默认开启预览画面的镜像效果。4. 调用此函数后,SDK 会启动音视频引擎,并尝试采集音频与视频。

startPreview

startPreview
- (void)startPreview;
启动本地音频预览。
Declared in ZegoExpressEngine.h

在创建引擎之后,未推拉流之前,可以调用此函数开始音频采集。

  • 业务场景:可以通过调用此函数配合引擎的声浪功能来检测音频设备是否正常。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 预览功能不需要先登录房间或推流,但是在退出房间之后 SDK 内部默认会主动停止预览。2. 调用此函数后,SDK 会启动音频引擎,并尝试采集音频。

stopPreview

stopPreview
- (void)stopPreview;
停止本地预览
Declared in ZegoExpressEngine.h

当本地不需要预览时可调用此函数停止预览。

  • 支持版本:1.1.0 及以上。
  • 注意事项:停止预览不会影响推流、拉流功能。

stopPreview:

stopPreview:
- (void)stopPreview:(ZegoPublishChannel) channel;
停止本地预览,支持设置其他通道的推流
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

当本地不需要预览时可调用此函数停止预览。

  • 支持版本:1.1.0 及以上。
  • 注意事项:停止预览不会影响推流、拉流功能。

setVideoConfig:

setVideoConfig:
- (void)setVideoConfig:(ZegoVideoConfig *) config;
设置视频配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoVideoConfig *视频配置,SDK 提供常用的分辨率、帧率和码率的组合值,也可自定义分辨率、帧率和码率。

详情

设置视频帧率、码率、视频采集分辨率、视频编码输出分辨率等视频配置。

  • 业务场景:不同业务场景下的建议配置 https://doc-zh.zego.im/article/10365
  • 默认值:默认视频采集分辨率为 360p,视频编码输出分辨率为 360p,码率为 600 kbps,帧率为 15 fps。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:需要在 [startPreview] 前调用。在 [startPreview] 之后调用无法修改采集分辨率,仅支持修改编码分辨率、码率和帧率。
  • 注意事项:移动端分辨率的宽高与 PC 端分辨率的宽高是相反的,例:移动端的 360p 的分辨率为 360x640,而 PC 端 360p 的分辨率为 640x360。

setVideoConfig:channel:

setVideoConfig:channel:
- (void)setVideoConfig:(ZegoVideoConfig *) config channel:(ZegoPublishChannel) channel;
设置视频配置,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoVideoConfig *视频配置,SDK 提供常用的分辨率、帧率和码率的组合值,也可自定义分辨率、帧率和码率。
channelZegoPublishChannel推流通道。

详情

设置视频帧率、码率、视频采集分辨率、视频编码输出分辨率等视频配置。

  • 业务场景:不同业务场景下的建议配置 https://doc-zh.zego.im/article/10365
  • 默认值:默认视频采集分辨率为 360p,视频编码输出分辨率为 360p,码率为 600 kbps,帧率为 15 fps。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:需要在 [startPreview] 前调用。在 [startPreview] 之后调用无法修改采集分辨率,仅支持修改编码分辨率、码率和帧率。
  • 注意事项:移动端分辨率的宽高与 PC 端分辨率的宽高是相反的,例:移动端的 360p 的分辨率为 360x640,而 PC 端 360p 的分辨率为 640x360。

getVideoConfig

getVideoConfig
- (ZegoVideoConfig *)getVideoConfig;
获取当前视频配置
Declared in ZegoExpressEngine.h

可通过此函数获取主推流通道当前的视频帧率、码率,视频采集分辨率,视频编码输出分辨率。

视频配置对象

getVideoConfig:

getVideoConfig:
- (ZegoVideoConfig *)getVideoConfig:(ZegoPublishChannel) channel;
获取当前视频配置,支持设置其他通道的推流
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

可通过此函数获取指定推流通道当前的视频帧率、码率,视频采集分辨率,视频编码输出分辨率。

返回值

视频配置对象

setPublishDualStreamConfig:channel:

setPublishDualStreamConfig:channel:
- (void)setPublishDualStreamConfig:(NSArray<ZegoPublishDualStreamConfig *> *) configList channel:(ZegoPublishChannel) channel;
设置大小流配置信息
Declared in ZegoExpressEngine.h

参数

名称类型描述
configListNSArray<ZegoPublishDualStreamConfig *> *配置信息。
channelZegoPublishChannel推流通道。

详情

设置大小流配置。

  • 调用时机:必须在调用 [createEngine] 之后, 先调用[ZegoExpressEngine > setVideoConfig] 中指定codecID为 ZegoVideoCodecIDH264DualStream 时生效。
  • 支持版本:3.7.0 及以上。
  • 使用限制:必须同时指定大流和小流参数才能生效, 设置大流, 小流分辨率比要一致。例如都为 4:3 。
  • 注意事项:宽、高、分辨率以及码率都大于零才会生效。

setVideoMirrorMode:

setVideoMirrorMode:
- (void)setVideoMirrorMode:(ZegoVideoMirrorMode) mirrorMode;
设置镜像模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
mirrorModeZegoVideoMirrorMode预览或推流的镜像模式。

详情

设置本地预览视频以及推送的视频是否开启镜像模式,具体镜像模式可以参考 https://doc-zh.zego.im/article/10365

  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:只有 SDK 负责渲染时该设置才有效。

setVideoMirrorMode:channel:

setVideoMirrorMode:channel:
- (void)setVideoMirrorMode:(ZegoVideoMirrorMode) mirrorMode channel:(ZegoPublishChannel) channel;
设置镜像模式,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
mirrorModeZegoVideoMirrorMode预览或推流的镜像模式。
channelZegoPublishChannel推流通道。

详情

设置本地预览视频以及推送的视频是否开启镜像模式,具体镜像模式可以参考 https://doc-zh.zego.im/article/10365

  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:只有 SDK 负责渲染时该设置才有效。

setAppOrientation:

setAppOrientation:
- (void)setAppOrientation:(UIInterfaceOrientation) orientation;
设置视频的朝向。
Declared in ZegoExpressEngine.h

参数

名称类型描述
orientationUIInterfaceOrientation视频的朝向。

详情

设置视频的朝向,详细的介绍可参考文档 https://doc-zh.zego.im/faq/express_video_capture_rotation

  • 业务场景:用户使用移动设备进行直播或视频通话时,可以根据现场设置不同的视频方向。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

setAppOrientation:channel:

setAppOrientation:channel:
- (void)setAppOrientation:(UIInterfaceOrientation) orientation channel:(ZegoPublishChannel) channel;
设置采集视频的朝向,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
orientationUIInterfaceOrientation视频的朝向。
channelZegoPublishChannel推流通道。

详情

设置视频的朝向,详细的介绍可参考文档 https://doc-zh.zego.im/faq/express_video_capture_rotation

  • 业务场景:用户使用移动设备进行直播或视频通话时,可以根据现场设置不同的视频方向。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:目前只支持 iOS 和 Android 平台。

setAudioConfig:

setAudioConfig:
- (void)setAudioConfig:(ZegoAudioConfig *) config;
设置音频质量配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoAudioConfig *音频质量配置。

详情

可通过此函数设置音频编码类型、码率、音频声道的组合值。若预设的值无法满足开发者的场景,开发者可自行根据业务要求设置符合的参数。

  • 默认值:默认的音频配置参考 [ZegoAudioConfig] 的默认值。
  • 调用时机:在创建引擎 [createEngine] 后,且在推流 [startPublishingStream] 前设置。
  • 相关接口:[getAudioConfig]。
  • 支持版本:1.3.4 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

setAudioConfig:channel:

setAudioConfig:channel:
- (void)setAudioConfig:(ZegoAudioConfig *) config channel:(ZegoPublishChannel) channel;
设置指定推流通道的音频质量配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoAudioConfig *音频质量配置。
channelZegoPublishChannel推流通道。

详情

可通过此函数设置音频编码类型、码率、音频声道的组合值。若预设的值无法满足开发者的场景,开发者可自行根据业务要求设置符合的参数。

  • 默认值:默认的音频配置参考 [ZegoAudioConfig] 的默认值。
  • 调用时机:在创建引擎 [createEngine] 后,且在推流 [startPublishingStream] 前设置。
  • 相关接口:[getAudioConfig]。
  • 支持版本:1.3.4 及以上。
  • 使用限制:无。

getAudioConfig

getAudioConfig
- (ZegoAudioConfig *)getAudioConfig;
获取当前音频质量配置。
Declared in ZegoExpressEngine.h

可通过此函数获取当前的音频编码类型、码率、音频声道的组合值。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[setAudioConfig]。
  • 支持版本:1.8.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

音频质量配置。

getAudioConfig:

getAudioConfig:
- (ZegoAudioConfig *)getAudioConfig:(ZegoPublishChannel) channel;
获取指定推流通道的当前音频质量配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

可通过此函数获取当前的音频编码类型、码率、音频声道的组合值。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[setAudioConfig]。
  • 支持版本:1.8.0 及以上。
  • 使用限制:无。

返回值

音频质量配置。

setPublishStreamEncryptionKey:

setPublishStreamEncryptionKey:
- (void)setPublishStreamEncryptionKey:(NSString *) key;
设置推流加密密钥。
Declared in ZegoExpressEngine.h

参数

名称类型描述
keyNSString *加密密钥,注意密钥长度仅支持 16/24/32 字节。

详情

支持在推流中途调用此函数更新加密密钥。

  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前后调用都可生效。
  • 相关接口:调用 [stopPublishingStream] 或 [logoutRoom] 都将会清空加密密钥。
  • 支持版本:1.19.0 及以上。
  • 使用限制:该函数仅当向 Zego RTC 服务器推流时调用有效。
  • 注意事项:需要先更新拉流端解密密钥后才能更新推流端加密密钥。作用于主推流通道 ZegoPublishChannel.Main。

setPublishStreamEncryptionKey:channel:

setPublishStreamEncryptionKey:channel:
- (void)setPublishStreamEncryptionKey:(NSString *) key channel:(ZegoPublishChannel) channel;
设置指定推流通道的推流加密密钥。
Declared in ZegoExpressEngine.h

参数

名称类型描述
keyNSString *加密密钥,注意密钥长度仅支持 16/24/32 字节。
channelZegoPublishChannel推流通道。

详情

支持在推流中途调用此函数更新加密密钥。

  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前后调用都可生效。
  • 相关接口:调用 [stopPublishingStream] 或 [logoutRoom] 都将会清空加密密钥。
  • 支持版本:1.19.0 及以上。
  • 使用限制:该函数仅当向 Zego RTC 服务器推流时调用有效。
  • 注意事项:需要先更新拉流端解密密钥后才能更新推流端加密密钥。

takePublishStreamSnapshot:

takePublishStreamSnapshot:
- (void)takePublishStreamSnapshot:(ZegoPublisherTakeSnapshotCallback) callback;
对推流画面截图。
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbackZegoPublisherTakeSnapshotCallback推流画面截图结果回调。

详情

对推流画面进行截图。

  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关回调:截图结果会通过 [ZegoPublisherTakeSnapshotCallback] 回调 。(Windows HBITMAP; macOS/iOS CGImageRef; Linux QImage; Android Bitmap)。
  • 相关接口:[takePlayStreamSnapshot]。
  • 支持版本:1.17.0 及以上。
  • 使用限制:无。
  • 注意事项:截图的分辨率为 [setVideoConfig] 里设置的编码分辨率,若需改为采集分辨率,请调用 [setCapturePipelineScaleMode] 将采集缩放时机模式改为 [Post]。作用于主推流通道 ZegoPublishChannel.Main。

takePublishStreamSnapshot:channel:

takePublishStreamSnapshot:channel:
- (void)takePublishStreamSnapshot:(ZegoPublisherTakeSnapshotCallback) callback channel:(ZegoPublishChannel) channel;
对指定推流通道的推流画面截图。
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbackZegoPublisherTakeSnapshotCallback推流画面截图结果回调。
channelZegoPublishChannel推流通道。

详情

对推流画面进行截图。

  • 调用时机:在调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关回调:截图结果会通过 [ZegoPublisherTakeSnapshotCallback] 回调。
  • 相关接口:[takePlayStreamSnapshot]。
  • 支持版本:1.17.0 及以上。
  • 使用限制:无。
  • 注意事项:截图的分辨率为 [setVideoConfig] 里设置的编码分辨率,若需改为采集分辨率,请调用 [setCapturePipelineScaleMode] 将采集缩放时机模式改为 [Post]。

takePublishStreamSnapshotByConfig:callback:channel:

takePublishStreamSnapshotByConfig:callback:channel:
- (void)takePublishStreamSnapshotByConfig:(ZegoPublisherTakeSnapshotConfig *) config callback:(ZegoPublisherTakeSnapshotCallback) callback channel:(ZegoPublishChannel) channel;
对指定推流通道的推流画面截图。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoPublisherTakeSnapshotConfig *推流画面截图配置
callbackZegoPublisherTakeSnapshotCallback推流画面截图结果回调。
channelZegoPublishChannel推流通道。

详情

对推流画面进行截图。

  • 调用时机:在调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关回调:截图结果会通过 [ZegoPublisherTakeSnapshotCallback] 回调。
  • 相关接口:[takePlayStreamSnapshot]。
  • 支持版本:3.22.0 及以上。
  • 使用限制:无。
  • 注意事项:截图的分辨率为 [setVideoConfig] 里设置的编码分辨率,若需改为采集分辨率,请调用 [setCapturePipelineScaleMode] 将采集缩放时机模式改为 [Post]。

mutePublishStreamAudio:

mutePublishStreamAudio:
- (void)mutePublishStreamAudio:(BOOL) mute;
停止或恢复发送音频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否停止发送音频流;true 表示不发送音频流;false 表示发送音频流;默认为 false。

详情

推流时可调用此函数实现不推音频数据流,本地仍会采集和处理音频,但向网络发送静音帧数据包。

  • 业务场景:用户不希望推出任何音频数据时,可以调用该接口。该接口不影响 [onBeforeAudioPrepAudioData]。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:如果在本地设置了停止发送音频流,拉本地流的远端用户可以通过监听 [onRemoteMicStateUpdate] 回调收到 Mute 的状态变更通知。
  • 相关接口:[mutePublishStreamVideo]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

mutePublishStreamAudio:channel:

mutePublishStreamAudio:channel:
- (void)mutePublishStreamAudio:(BOOL) mute channel:(ZegoPublishChannel) channel;
停止或恢复发送指定推流通道的音频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否停止发送音频流;true 表示不发送音频流;false 表示发送音频流;默认为 false。
channelZegoPublishChannel推流通道。

详情

推流时可调用此函数实现不推音频数据流,本地仍会采集和处理音频,但向网络发送静音帧数据包。

  • 业务场景:用户不希望推出任何音频数据时,可以调用该接口。该接口不影响 [onBeforeAudioPrepAudioData]。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:如果在本地设置了停止发送音频流,拉本地流的远端用户可以通过监听 [onRemoteMicStateUpdate] 回调收到 Mute 的状态变更通知。
  • 相关接口:[mutePublishStreamVideo]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

mutePublishStreamVideo:

mutePublishStreamVideo:
- (void)mutePublishStreamVideo:(BOOL) mute;
停止或恢复发送视频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否停止发送视频流;true 表示不发送视频流;false 表示发送视频流;默认为 false。

详情

推流时可调用此函数实现不推视频流,本地摄像头仍能正常工作,能正常采集,预览和处理视频画面,但不向网络发送视频数据。

  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:如果在本地设置了停止发送视频流,拉本地流的远端用户可以通过监听 [onRemoteCameraStateUpdate] 回调收到 Mute 的状态变更通知。
  • 相关接口:[mutePublishStreamAudio]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

mutePublishStreamVideo:channel:

mutePublishStreamVideo:channel:
- (void)mutePublishStreamVideo:(BOOL) mute channel:(ZegoPublishChannel) channel;
停止或恢复发送指定推流通道的视频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否停止发送视频流;true 表示只发送音频流不发送视频流;false 表示同时发送音频和视频流;默认为 false。
channelZegoPublishChannel推流通道。

详情

推流时可调用此函数实现不推视频流,本地摄像头仍能正常工作,能正常采集,预览和处理视频画面,但不向网络发送视频数据。

  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:如果在本地设置了停止发送视频流,拉本地流的远端用户可以通过监听 [onRemoteCameraStateUpdate] 回调收到 Mute 的状态变更通知。
  • 相关接口:[mutePublishStreamAudio]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

setStreamAlignmentProperty:channel:

setStreamAlignmentProperty:channel:
- (void)setStreamAlignmentProperty:(int) alignment channel:(ZegoPublishChannel) channel;
开启或关闭流精准对齐功能
Declared in ZegoExpressEngine.h

参数

名称类型描述
alignmentint是否开启精准对齐功能,1 表示开启,0 表示关闭。
channelZegoPublishChannel推流通道。

详情

调用本接口开启或关闭流对齐功能。

  • 业务场景:常用于 KTV 等需要流对齐的场景。
  • 默认值:若未调该接口,默认为 不对齐
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[startMixerTask]、[startAutoMixerTask]。
  • 支持版本:2.11.0 及以上。
  • 注意事项:如果在拉多路流或者混流时需要通过网络时间对各流进行对齐,推流需调用 [startPublishingStream] 且 [ZegoPublisherConfig] 中的 [forceSynchronousNetworkTime] 为1,开启网络时间同步。

enableTrafficControl:property:

enableTrafficControl:property:
- (void)enableTrafficControl:(BOOL) enable property:(ZegoTrafficControlProperty) property;
开始或停止流量控制。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否使用流量控制。true 表示开启流控,false 表示关闭流控。默认为 true。
propertyZegoTrafficControlProperty流量控制的属性,位掩码或运算格式。具体可设置为 [ZegoTrafficControlProperty] 的属性的一个或多个枚举组合。默认为 AdaptiveFPS。

详情

开启流量控制可以使 SDK 根据当前上行网络环境状况,或者在1 对1 互动场景下根据对方下行网络环境状况,调节音视频推流码率大小,以保障效果流畅。同时,可进一步指定流量控制的属性来调整相应的控制策略。

  • 默认值:默认开启。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 之前调用生效。
  • 支持版本:1.5.0 及以上。
  • 使用限制:仅支持 RTC 推流。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

enableTrafficControl:property:channel:

enableTrafficControl:property:channel:
- (void)enableTrafficControl:(BOOL) enable property:(ZegoTrafficControlProperty) property channel:(ZegoPublishChannel) channel;
开始或停止指定推流通道的流量控制。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否使用流量控制;true 表示开启流控;false 表示关闭流控;默认为 true。
propertyZegoTrafficControlProperty流量控制的属性,位掩码格式。具体可设置为 [ZegoTrafficControlProperty] 的属性的一个或多个枚举组合。默认为 AdaptiveFPS。
channelZegoPublishChannel推流通道。

详情

开启流量控制可以使 SDK 根据当前上行网络环境状况,或者在1 对1 互动场景下根据对方下行网络环境状况,调节音视频推流码率大小,以保障效果流畅。同时,可进一步指定流量控制的属性来调整相应的控制策略。

  • 默认值:默认开启。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 之前调用生效。
  • 支持版本:1.5.0 及以上。
  • 使用限制:仅支持 RTC 推流。

setMinVideoBitrateForTrafficControl:mode:

setMinVideoBitrateForTrafficControl:mode:
- (void)setMinVideoBitrateForTrafficControl:(int) bitrate mode:(ZegoTrafficControlMinVideoBitrateMode) mode;
设置流量控制的最低视频码率阈值。
Declared in ZegoExpressEngine.h

参数

名称类型描述
bitrateint流量控制的最低视频码率阈值,单位为 kbps。
modeZegoTrafficControlMinVideoBitrateMode低于最低码率时的视频发送模式。

详情

设置流量控制时视频码率达到最低阈值时的控制策略。当码率低于最低阈值时,可以选择不发送视频数据或者以极低帧率发送。

  • 默认值:无视频码率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl]。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

setMinVideoBitrateForTrafficControl:mode:channel:

setMinVideoBitrateForTrafficControl:mode:channel:
- (void)setMinVideoBitrateForTrafficControl:(int) bitrate mode:(ZegoTrafficControlMinVideoBitrateMode) mode channel:(ZegoPublishChannel) channel;
设置指定推流通道的流量控制视频码率最低值
Declared in ZegoExpressEngine.h

参数

名称类型描述
bitrateint最低视频码率,单位为 kbps。
modeZegoTrafficControlMinVideoBitrateMode低于最低码率时的视频发送模式。
channelZegoPublishChannel推流通道。

详情

设置流量控制时视频码率达到最低阈值时的控制策略。当码率低于最低阈值时,可以选择不发送视频数据或者以极低帧率发送。

  • 默认值:无视频码率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl]。

setMinVideoFpsForTrafficControl:channel:

setMinVideoFpsForTrafficControl:channel:
- (void)setMinVideoFpsForTrafficControl:(int) fps channel:(ZegoPublishChannel) channel;
设置流量控制的最低视频帧率阈值。
Declared in ZegoExpressEngine.h

参数

名称类型描述
fpsint流量控制的最低视频帧率阈值,单位为 fps。
channelZegoPublishChannel推流通道。

详情

开启流量控制 [enableTrafficControl],并且它的参数 [property] 包含属性 AdaptiveFPS 后,视频的最低帧率不会低于 [setMinVideoFpsForTrafficControl] 接口设置的值, 0 值表示不限制。

  • 默认值:无视频帧率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.17.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl],并且它的参数 [property] 必须包含属性 AdaptiveFPS,具体可以参考 [ZegoTrafficControlProperty]。
  • 注意事项:如果需要取消该设置值的限制可以设置为 0。

setMinVideoResolutionForTrafficControl:height:channel:

setMinVideoResolutionForTrafficControl:height:channel:
- (void)setMinVideoResolutionForTrafficControl:(int) width height:(int) height channel:(ZegoPublishChannel) channel;
设置流量控制的最低视频分辨率阈值。
Declared in ZegoExpressEngine.h

参数

名称类型描述
widthint流量控制的最低视频分辨率的宽。
heightint流量控制的最低视频分辨率的高。
channelZegoPublishChannel推流通道。

详情

开启流量控制 [enableTrafficControl],并且它的参数 [property] 包含属性 AdaptiveResolution 时,视频的最低分辨率不会低于 [setMinVideoResolutionForTrafficControl] 接口设置的值。 0 值表示不限制。

  • 默认值:无视频分辨率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.17.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl],并且它的参数 [property] 必须包含属性 AdaptiveResolution,具体可以参考 [ZegoTrafficControlProperty]。
  • 注意事项:如果需要取消该设置值的限制可以设置分辨率宽高值为 0。

setTrafficControlFocusOn:

setTrafficControlFocusOn:
- (void)setTrafficControlFocusOn:(ZegoTrafficControlFocusOnMode) mode;
设置触发流量控制的关注因素。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoTrafficControlFocusOnMode选择 LOCAL_ONLY 时,只关注本地网络状况。选择 REMOTE 时,不仅关注本地网络,同时也兼顾远端网络。

详情

通过该接口控制是否因为远端网络状况差而启动流量控制。

  • 默认值:默认 ZegoTrafficControlFounsOnRemote。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.4.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl]。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

setTrafficControlFocusOn:channel:

setTrafficControlFocusOn:channel:
- (void)setTrafficControlFocusOn:(ZegoTrafficControlFocusOnMode) mode channel:(ZegoPublishChannel) channel;
设置指定推流通道的触发流量控制的关注因素。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoTrafficControlFocusOnMode选择 LOCAL_ONLY 时,只关注本地网络状况。选择 REMOTE 时,不仅关注本地网络,同时也兼顾远端网络。
channelZegoPublishChannel推流通道。

详情

通过该接口控制是否因为远端网络状况差而启动流量控制。

  • 默认值:默认关闭。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.4.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl]。

setCaptureVolume:

setCaptureVolume:
- (void)setCaptureVolume:(int) volume;
设置推流端采集音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint音量增益百分比,范围为 0 ~ 200,默认值为 100,表示为设备原始采集音量的 100%.

详情

此函数用于在设备采集音量的基础上做增益处理,本端用户可控制往远端发送音频流的声音大小。

  • 默认值:默认为 100。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:设置拉流音量 [setPlayVolume]。
  • 支持版本:1.13.0 及以上。
  • 使用限制:在推流途中可以动态设置采集音量。

setAudioCaptureStereoMode:

setAudioCaptureStereoMode:
- (void)setAudioCaptureStereoMode:(ZegoAudioCaptureStereoMode) mode;
设置音频采集双声道模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoAudioCaptureStereoMode双声道采集模式。

详情

此函数用于设置音频的采集声道模式,当开发者开启双声道采集后,使用专门的双声道采集设备,可以采集到双声道的音频数据并进行推流。

  • 业务场景:在一些比较专业的场景里,用户对声音的效果尤为敏感,比如语音电台、乐器演奏,此时就需要对双声道和高音质的支持。
  • 默认值:默认 None,即单声道采集。
  • 调用时机:需要在 [createEngine] 之后,在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 相关接口:当推流时需要同时通过 [setAudioConfig] 函数开启双声道音频编码功能。
  • 支持版本:1.15.0 及以上 (iOS/Android/Windows/OHOS);自 2.16.0 开始支持 macOS。
  • 使用限制:如果需要开启双声道采集,还需要满足如下条件:对于 iOS/Android 来说,需要外接支持双声道采集的音频设备并且处于媒体音量下。对于 macOS 来说需要处于媒体音量下。对于 Windows 来说需要外接支持双声道采集的音频设备。

addPublishCdnUrl:streamID:callback:

addPublishCdnUrl:streamID:callback:
- (void)addPublishCdnUrl:(NSString *) targetURL streamID:(NSString *) streamID callback:(nullable ZegoPublisherUpdateCdnUrlCallback) callback;
增加转推至 CDN 的 URL。
Declared in ZegoExpressEngine.h

参数

名称类型描述
targetURLNSString *CDN 转推地址,支持的转推地址格式有 rtmp, rtmps.
streamIDNSString *流 ID。
callbacknullable ZegoPublisherUpdateCdnUrlCallback更新 CDN 转推结果通知。

详情

将 ZEGO RTC 服务器的音视频流转推至自定义的 CDN 内容分发网络,延迟高但是支持高并发拉流。

  • 业务场景:1. 常用于对延迟没有特别高要求的大规模直播场景。2. 由于 ZEGO RTC 服务器本身可配置支持 CDN 内容分发网络,此函数主要为自身拥有 CDN 内容分发服务的开发者使用。3. 此函数支持动态转推至多个 CDN 内容分发网络,因此开发者可以使用此函数来作为 CDN 内容分发服务的一个容灾方案。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 相关接口:删除转推至 CDN 的 URL [removePublishCdnUrl],结果回调函数 [onPublisherRelayCDNStateUpdate]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用 [enablePublishDirectToCDN] 函数设置为 true 将流直推到 CDN 时,再调用本函数将无效。
  • 注意事项:删除转推至 CDN 的 URL 需要调用 [removePublishCdnUrl],调用 [stopPublishingStream] 不会删除转推至 CDN 的 URL。

addPublishCdnUrl:streamID:timeout:callback:

addPublishCdnUrl:streamID:timeout:callback:
- (void)addPublishCdnUrl:(NSString *) targetURL streamID:(NSString *) streamID timeout:(int) timeout callback:(nullable ZegoPublisherUpdateCdnUrlCallback) callback;
增加转推至 CDN 的 URL。
Declared in ZegoExpressEngine.h

参数

名称类型描述
targetURLNSString *CDN 转推地址,支持的转推地址格式有 rtmp, rtmps.
streamIDNSString *流 ID。
timeoutint超时时间。如果在时间内没有开始转推就回调通知。默认为0,表示不超时,有效范围[5,600],单位秒。小于0会被重置为0,1到4会被重置为5,大于600会被重置为600。
callbacknullable ZegoPublisherUpdateCdnUrlCallback更新 CDN 转推结果通知。

详情

将 ZEGO RTC 服务器的音视频流转推至自定义的 CDN 内容分发网络,延迟高但是支持高并发拉流。

  • 业务场景:1. 常用于对延迟没有特别高要求的大规模直播场景。2. 由于 ZEGO RTC 服务器本身可配置支持 CDN 内容分发网络,此函数主要为自身拥有 CDN 内容分发服务的开发者使用。3. 此函数支持动态转推至多个 CDN 内容分发网络,因此开发者可以使用此函数来作为 CDN 内容分发服务的一个容灾方案。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 相关接口:删除转推至 CDN 的 URL [removePublishCdnUrl],结果回调函数 [onPublisherRelayCDNStateUpdate]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用 [enablePublishDirectToCDN] 函数设置为 true 将流直推到 CDN 时,再调用本函数将无效。
  • 注意事项:删除转推至 CDN 的 URL 需要调用 [removePublishCdnUrl],调用 [stopPublishingStream] 不会删除转推至 CDN 的 URL。

removePublishCdnUrl:streamID:callback:

removePublishCdnUrl:streamID:callback:
- (void)removePublishCdnUrl:(NSString *) targetURL streamID:(NSString *) streamID callback:(nullable ZegoPublisherUpdateCdnUrlCallback) callback;
删除转推至 CDN 的 URL。
Declared in ZegoExpressEngine.h

参数

名称类型描述
targetURLNSString *CDN 转推地址,支持的转推地址格式有 rtmp.
streamIDNSString *流 ID。
callbacknullable ZegoPublisherUpdateCdnUrlCallback更新 CDN 转推结果通知。

详情

当已经通过 [addPublishCdnUrl] 添加了某个 CDN 转推地址,需要将流停止转推时调用此函数。

  • 调用时机:在调用 [createEngine] 函数创建引擎后,不需要继续转推至 CDN 时。
  • 相关接口:增加转推至 CDN 的 URL [addPublishCdnUrl],结果回调函数 [onPublisherRelayCDNStateUpdate]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用 [enablePublishDirectToCDN] 函数设置为 true 将流直推到 CDN 时,再调用本函数将无效。
  • 注意事项:此函数并不会停止推往 ZEGO RTC 服务器的音视频流。

enablePublishDirectToCDN:config:

enablePublishDirectToCDN:config:
- (void)enablePublishDirectToCDN:(BOOL) enable config:(ZegoCDNConfig *) config;
是否直接推流到 CDN(不经过 ZEGO RTC 服务器)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启直推 CDN;true 表示开启直推 CDN;false 表示不开启直推 CDN;默认为 false。
configZegoCDNConfig *CDN 配置,若为 nil 则使用 Zego 的后台配置。

详情

是否不经过 ZEGO RTC 服务器直接推流到 CDN。

  • 业务场景:常用于对延迟没有特别高要求的大规模直播场景。
  • 默认值:默认为 false,不开启直推。
  • 调用时机:在创建引擎 [createEngine]后,开始推流[startPublishingStream] 前。
  • 相关接口:动态转推至 CDN 函数 [addPublishCdnUrl]、[removePublishCdnUrl]。
  • 支持版本:1.5.0 及以上。
  • 注意事项:直推 CDN 功能在网络传输过程中不经过 ZEGO 实时音视频云,无法使用 ZEGO 的超低延迟音视频服务。

enablePublishDirectToCDN:config:channel:

enablePublishDirectToCDN:config:channel:
- (void)enablePublishDirectToCDN:(BOOL) enable config:(ZegoCDNConfig *) config channel:(ZegoPublishChannel) channel;
是否直接推流到 CDN(不经过 ZEGO RTC 服务器), 支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启直推 CDN;true 表示开启直推 CDN;false 表示不开启直推 CDN;默认为 false。
configZegoCDNConfig *CDN 配置,若为 nil 则使用 Zego 的后台配置。
channelZegoPublishChannel推流通道。

详情

是否不经过 ZEGO RTC 服务器直接推流到 CDN。

  • 业务场景:常用于对延迟没有特别高要求的大规模直播场景。
  • 默认值:默认为 false,不开启直推。
  • 调用时机:在创建引擎 [createEngine]后,开始推流[startPublishingStream] 前。
  • 相关接口:动态转推至 CDN 函数 [addPublishCdnUrl]、[removePublishCdnUrl]。
  • 支持版本:1.5.0 及以上。
  • 注意事项:直推 CDN 功能在网络传输过程中不经过 ZEGO 实时音视频云,无法使用 ZEGO 的超低延迟音视频服务。

setPublishWatermark:isPreviewVisible:

setPublishWatermark:isPreviewVisible:
- (void)setPublishWatermark:(ZegoWatermark *) watermark isPreviewVisible:(BOOL) isPreviewVisible;
设置推流水印。
Declared in ZegoExpressEngine.h

参数

名称类型描述
watermarkZegoWatermark *水印布局左上角为坐标系原点,区域不能超过编码分辨率设置的大小。若为空表示取消水印。
isPreviewVisibleBOOL是否本地预览能看见水印。

详情

给推流画面设置水印。

  • 业务场景:常用于标识推流来源的场景。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 支持版本:1.1.0 及以上。
  • 注意事项:水印的布局不能超出推流的视频编码分辨率。可在推流前或推流中途任意时刻设置。

setPublishWatermark:isPreviewVisible:channel:

setPublishWatermark:isPreviewVisible:channel:
- (void)setPublishWatermark:(ZegoWatermark *) watermark isPreviewVisible:(BOOL) isPreviewVisible channel:(ZegoPublishChannel) channel;
设置推流水印,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
watermarkZegoWatermark *水印布局左上角为坐标系原点,区域不能超过编码分辨率设置的大小。若为空表示取消水印。
isPreviewVisibleBOOL是否本地预览能看见水印。
channelZegoPublishChannel推流通道。

详情

给推流画面设置水印。

  • 业务场景:常用于标识推流来源的场景。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 支持版本:1.1.0 及以上。
  • 注意事项:水印的布局不能超出推流的视频编码分辨率。可在推流前或推流中途任意时刻设置。

setSEIConfig:

setSEIConfig:
- (void)setSEIConfig:(ZegoSEIConfig *) config;
设置媒体增强补充信息类型。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoSEIConfig *SEI 类型配置。默认使用 ZEGO 定义的 SEI。

详情

SDK 默认使用 ZEGO 自行定义的 SEI 类型包装数据,且此类型是 SEI 标准未规定的类型。当开发者需要使用第三方解码器解码,会导致解不出正确的 SEI,需要调用 [setSEIConfig] 函数更换 SDK 发送 SEI 的类型为 UserUnregister 类型。

  • 业务场景:当开发者使用第三方解码器解码 SEI 时需要执行该函数。
  • 调用时机:在创建引擎 [createEngine]后,开始推流[startPublishingStream] 前。
  • 支持版本:1.18.0 及以上。
  • 使用限制:无。

sendSEI:

sendSEI:
- (void)sendSEI:(NSData *) data;
发送媒体增强补充信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataNSData *SEI 内容。

详情

在推流传输音视频流数据同时,发送流媒体增强补充信息来同步一些其他附加信息。

  • 业务场景:一般用于如同步音乐歌词或视频画面精准布局等场景,可选择使用发送 SEI。
  • 调用时机:在开始推流[startPublishingStream] 后。
  • 相关接口:当推流方发送 SEI 后,拉流方可通过监听 [onPlayerRecvSEI] 的回调获取 SEI 内容。
  • 支持版本:1.1.0 及以上。
  • 使用限制:1 秒钟不要超过30次,SEI 数据长度限制为 4096 字节。
  • 注意事项:1. 由于网络问题有可能丢帧,因此 SEI 信息也有可能丢,为解决这种情况,应该在限制频率内多发几次。2. 即使调用 [enableCamera] 接口关闭摄像头或通过 [mutePublishStreamVideo] 停止发送视频数据,SEI 仍可发送成功;只要拉流端不调用 [mutePlayStreamVideo] 的接口停止拉音频数据,仍可正常接收 SEI。3. 若 SDK 不支持视频模块,但支持 SEI 功能模块,SEI 信息仍可正常发送。

sendSEI:channel:

sendSEI:channel:
- (void)sendSEI:(NSData *) data channel:(ZegoPublishChannel) channel;
指定推流通道号,发送媒体增强补充信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataNSData *SEI 内容。
channelZegoPublishChannel推流通道。

详情

在推流传输音视频流数据同时,发送流媒体增强补充信息来同步一些其他附加信息。

  • 业务场景:一般用于如同步音乐歌词或视频画面精准布局等场景,可选择使用发送 SEI。
  • 调用时机:在开始推流[startPublishingStream] 后。
  • 相关接口:当推流方发送 SEI 后,拉流方可通过监听 [onPlayerRecvSEI] 的回调获取 SEI 内容。
  • 支持版本:1.1.0 及以上。
  • 使用限制:1 秒钟不要超过30次,SEI 数据长度限制为 4096 字节。
  • 注意事项:1. 由于网络问题有可能丢帧,因此 SEI 信息也有可能丢,为解决这种情况,应该在限制频率内多发几次。2. 即使调用 [enableCamera] 接口关闭摄像头或通过 [mutePublishStreamVideo] 停止发送视频数据,SEI 仍可发送成功;只要拉流端不调用 [mutePlayStreamVideo] 的接口停止拉音频数据,仍可正常接收 SEI。3. 若 SDK 不支持视频模块,但支持 SEI 功能模块,SEI 信息仍可正常发送。

sendSEISyncWithCustomVideo:timeStampNs:channel:

sendSEISyncWithCustomVideo:timeStampNs:channel:
- (void)sendSEISyncWithCustomVideo:(NSData *) data timeStampNs:(unsigned long long) timeStampNs channel:(ZegoPublishChannel) channel;
自定义视频采集时发送与当前视频帧同步的媒体增强补充信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataNSData *SEI 内容。
timeStampNsunsigned long long视频帧的索引时间,UNIX 时间戳,单位为纳秒。
channelZegoPublishChannel推流通道。

详情

在使用自定义视频采集时,推流传输视频流数据同时,发送流媒体增强补充信息来同步一些其他附加信息,该信息与当前视频帧同步。

  • 业务场景:一般用于需要播放内容与视频帧强同步的场景,比如视频k歌,视频跟歌词强同步;或者需要精确到帧级别做策略处理的场景。
  • 调用时机:要保证 SEI 与当前视频帧同步,必须在发送视频帧数据前调用。
  • 相关接口:当推流方发送 SEI 后,拉流方可通过监听 [onPlayerRecvSEI] 的回调获取 SEI 内容。
  • 支持版本:2.15.0 及以上。
  • 使用限制:仅用于自定义视频采集;仅支持视频驱动的 SEI 发送;应该尽量避免连续调用此接口发送 SEI;要保证 SEI 与当前视频帧同步,必须与发送自定义视频帧数据接口保持在同一个线程;SEI 数据长度限制为 4096 字节。
  • 注意事项:发送的 SEI 信息跟随视频帧,由于网络问题有可能丢帧,这个时候 SEI 会跟随下一帧视频数据,因此为了保持 SEI 与视频帧同步,应该尽量避免连续发送 SEI;仅在 Android 平台使用 SurfaceTexture 时,需要传时间戳参数 timeStampNs,其他情况该参数无效。

sendAudioSideInfo:timeStampMs:channel:

sendAudioSideInfo:timeStampMs:channel:
- (void)sendAudioSideInfo:(NSData *) data timeStampMs:(double) timeStampMs channel:(ZegoPublishChannel) channel;
发送音频次要信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataNSData *音频次要信息内容。
timeStampMsdouble时间戳,来源于自定义音频处理,单位为毫秒。如果时间戳填0,会跟随当前准备发送的帧发送。
channelZegoPublishChannel推流通道。

详情

在推流传输音频数据同时,发送音频次要信息来同步一些其他附加信息。

  • 业务场景:在轮唱场景中,需要音频数据通道携带附带信息,例如时间戳帮助伴奏对齐,以及需要知道当前演唱的这一段用户是谁,需不需要放大音量等。
  • 调用时机:在开始推流[startPublishingStream] 后。
  • 相关接口:当推流方发送音频次要信息后,拉流方可通过监听 [onPlayerRecvAudioSideInfo] 的回调获取音频次要信息内容。
  • 支持版本:2.19.0 及以上。
  • 使用限制:1. 该函数仅当向 Zego RTC 服务器推流时调用有效并且从 RTC 服务器转推流到 CDN 时也是无效的。2. 音频次要信息数据长度限制为 1024 字节。
  • 注意事项:1. 音频次要信息受音频数据驱动,所以必须要推送音频数据(当通过接口 [setEngineConfig] 开启了 DTX 功能后,音频次要信息可能会丢失)。2. 由于网络问题音频次要信息有可能会缺失,SDK 负责传输但是不保证可靠性。

enableHardwareEncoder:

enableHardwareEncoder:
- (void)enableHardwareEncoder:(BOOL) enable;
开/关硬件编码。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启硬件编码;true 表示开启硬编;false 表示关闭硬编;默认为 false。

详情

推流时是否采用硬件编码的开关,开启硬解编码后会使用 GPU 进行编码,降低 CPU 使用率。

  • 调用时机:在推流前设置才能生效,如果在推流后设置,停推后重新推流可以生效。
  • 支持版本:1.1.0 及以上。
  • 注意事项:由于少部分机型设备硬编支持不是特别好,SDK 默认使用软件编码的方式。若开发者在某些机型测试时发现推大分辨率音视频流时设备发热严重,可考虑调用此函数开启硬编的方式。

setCapturePipelineScaleMode:

setCapturePipelineScaleMode:
- (void)setCapturePipelineScaleMode:(ZegoCapturePipelineScaleMode) mode;
设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoCapturePipelineScaleMode采集缩放时机。
  • 调用时机:此函数需要在调用 [createEngine] 之后,调用预览 [startPreview] 或推流 [startPublishingStream] 前设置有效。
  • 支持版本:1.1.0 及以上。
  • 注意事项:主要影响是当采集分辨率与编码分辨率不同的时候,是否影响本地预览情况。

setDummyCaptureImagePath:channel:

setDummyCaptureImagePath:channel:
- (void)setDummyCaptureImagePath:(NSString *) filePath channel:(ZegoPublishChannel) channel;
设置关闭摄像头时所推静态图片的路径
Declared in ZegoExpressEngine.h

参数

名称类型描述
filePathNSString *图片路径
channelZegoPublishChannel推流通道。

详情

设置关闭摄像头时所推静态图片的路径。开始正常推流后,调用 enableCamera(false) 时会开始推静态图片,调用 enableCamera(true) 时会结束推静态图片。

  • 业务场景:开发者希望关闭摄像头时,显示静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。
  • 调用时机:初始化引擎之后,关闭摄像头前调用本 API 进行参数配置,在关闭摄像头后,即可推静态图片。
  • 平台差异: 1. Windows:直接填写图片位置,如"D://dir//image.jpg"。 2. iOS/macOS:如果是完整路径则添加 "file:" 前缀,如:@"file:/var/image.png"。资产则添加 "asset:" 前缀,如:@"asset
    "。 3. Android:如果是完整路径则添加 "file:" 前缀,如:"file:/sdcard/image.png"。“assets” 目录下的图片则添加 "asset:" 前缀,如:"asset
    .png"。 4. Flutter:如果是绝对路径则添加 "file:" 前缀,如:"file:/sdcard/image.png"。“assets” 资源中的图片则添加 "flutter-asset://" 前缀,如:"flutter-asset://assets/watermark.png"。 5. UniApp:仅支持绝对路径,需要添加 "file:" 前缀,如:"file:/sdcard/image.png"。
  • 支持版本:2.9.0 及以上。
  • 使用限制: 1. 图片支持类型为 JPEG/JPG、PNG、BMP、HEIF。 2. 该接口只对 SDK 视频采集有效,对自定义视频采集不生效。 3. 不支持图片路径是网络链接。
  • 注意事项: 1. 本地预览无法看到该静态图片。 2. 外部滤镜、水印、镜像、截图都不会生效。 3. 如果图片宽高比与设定的编码宽高比不一致,会按照编码宽高比进行裁剪。 4. 推音频流一定要再次调用该接口并把图片路径设置为空,避免产生视频计费。

setDummyCaptureImageParams:channel:

setDummyCaptureImageParams:channel:
- (void)setDummyCaptureImageParams:(ZegoDummyCaptureImageParams *) params channel:(ZegoPublishChannel) channel;
设置关闭摄像头时所推静态图片的参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramsZegoDummyCaptureImageParams *虚拟采集图片参数。
channelZegoPublishChannel推流通道。

详情

设置关闭摄像头时所推静态图片的参数。开始正常推流后,调用 enableCamera(false) 时会开始推静态图片,调用 enableCamera(true) 时会结束推静态图片。

  • 业务场景:开发者希望关闭摄像头时,显示静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。
  • 调用时机:初始化引擎之后,关闭摄像头前调用本 API 进行参数配置,在关闭摄像头后,即可推静态图片。
  • 平台差异: 1. Windows:直接填写图片位置,如"D://dir//image.jpg"。 2. iOS/macOS:如果是完整路径则添加 "file:" 前缀,如:@"file:/var/image.png"。资产则添加 "asset:" 前缀,如:@"asset
    "。 3. Android:如果是完整路径则添加 "file:" 前缀,如:"file:/sdcard/image.png"。“assets” 目录下的图片则添加 "asset:" 前缀,如:"asset
    .png"。 4. Flutter:如果是绝对路径则添加 "file:" 前缀,如:"file:/sdcard/image.png"。“assets” 资源中的图片则添加 "flutter-asset://" 前缀,如:"flutter-asset://assets/watermark.png"。 5. UniApp:仅支持绝对路径,需要添加 "file:" 前缀,如:"file:/sdcard/image.png"。
  • 支持版本:3.19.0 及以上。
  • 使用限制: 1. 图片支持类型为 JPEG/JPG、PNG、BMP、HEIF。 2. 该接口只对 SDK 视频采集有效,对自定义视频采集不生效。 3. 不支持图片路径是网络链接。
  • 注意事项: 1. 本地预览无法看到该静态图片。 2. 外部滤镜、水印、镜像、截图都不会生效。 3. 如果图片宽高比与设定的编码宽高比不一致,会按照编码宽高比进行裁剪。 4. 推音频流一定要再次调用该接口并把图片路径设置为空,避免产生视频计费。

enableH265EncodeFallback:

enableH265EncodeFallback:
- (void)enableH265EncodeFallback:(BOOL) enable;
是否开启 H.265 编码自动降级到 H.264 编码。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启 H.265 编码自动降级到 H.264 编码;true 表示开启;false 表示关闭;默认为 true

详情

使用 H.265 编码方式推流时,是否开启在异常情况下 H.265 编码自动降级到 H.264 编码的策略;开启自动降级后,当不支持 H.265 编码或编码 H.265 失败时,SDK 内部会尝试降级使用 H.264 编码进行推流;关闭自动降级后,当不支持 H.265 编码或编码 H.265 失败时,直接推流失败。

  • 业务场景:在多人连麦直播、秀场直播场景下,使用 H265 编码推流,达到不降低画质的情况下节省 CDN 流量的目的。
  • 默认值:没有调用该接口时,默认为是,即开启 H.265 编码自动降级到 H.264 编码。
  • 调用时机:创建引擎后,调用 [startPublishingStream] 函数推流前。
  • 相关回调:开启 H.265 编码自动降级到 H.264 编码策略后,编码方式变化时会触发 [onPublisherVideoEncoderChanged] 回调。
  • 支持版本:2.12.0 及以上。
  • 注意事项:当推流过程中发生从 H.265 降级到 H.264 编码时,如果正在进行本地视频录制或云录制,会导致产生多个录制文件,需要对此做处理。

isVideoEncoderSupported:

isVideoEncoderSupported:
- (BOOL)isVideoEncoderSupported:(ZegoVideoCodecID) codecID;
是否支持指定视频编码类型。
Declared in ZegoExpressEngine.h

参数

名称类型描述
codecIDZegoVideoCodecID视频编码类型。是否必填:是。

详情

是否支持指定视频编码,主要取决于以下几个方面:硬件型号是否支持硬编、硬件型号性能是否支持软编、SDK 是否带该编码模块。

  • 调用时机:创建引擎后。
  • 支持版本:2.12.0 及以上。
  • 注意事项:建议用户在进行 H.265 编码推流前,先调用本接口获取 H.265 编码支持能力,如果不支持,可以采用其他编码进行推流,比如 H.264。在移动端,SDK 仅支持 H.265 硬件编码,且受机型和硬件能力影响。

返回值

是否支持指定视频编码。取值范围:true 表示支持,可以使用该编码进行推流;false 表示不支持,不可以使用该编码进行推流。

isVideoEncoderSupported:codecBackend:

isVideoEncoderSupported:codecBackend:
- (int)isVideoEncoderSupported:(ZegoVideoCodecID) codecID codecBackend:(ZegoVideoCodecBackend) codecBackend;
是否支持指定的视频编码类型和实现方式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
codecIDZegoVideoCodecID视频编码类型。是否必填:是。
codecBackendZegoVideoCodecBackend编码器的后端实现。是否必填:是。

详情

是否支持指定视频编码,主要取决于以下几个方面:硬件型号是否支持硬编、硬件型号性能是否支持软编、SDK 是否带该编码模块。

  • 调用时机:创建引擎后。
  • 支持版本:3.0.0 及以上。
  • 注意事项:建议用户在进行 H.265 编码推流前,先调用本接口获取 H.265 编码支持能力,如果不支持,可以采用其他编码进行推流,比如 H.264。在移动端,SDK 仅支持 H.265 硬件编码,且受机型和硬件能力影响。

返回值

是否支持指定视频编码格式;0 表示不支持,不可以使用该编码格式进行推流;1 表示支持,可以使用该编码格式进行推流;2 表示未确认,建议稍后再调用本接口。

setAppOrientationMode:

setAppOrientationMode:
- (void)setAppOrientationMode:(ZegoOrientationMode) mode;
设置视频的朝向模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoOrientationMode视频的朝向模式。

详情

为了简化移动端开发者处理视频画面旋转的复杂度,SDK 支持设置多种视频朝向模式,开发者可以根据场景需求选择不同的模式。

  • 业务场景:使用移动设备进行直播或者视频通话的场景。
  • 默认值:自定义模式。
  • 调用时机:此函数需要在调用 [createEngine] 之后,调用预览 [startPreview] 或推流 [startPublishingStream] 前设置有效。
  • 相关接口:可调用 [setAppOrientation] 函数,设置 App 朝向。
  • 支持版本:2.23.0 及以上。
  • 注意事项: 1. 对所有通道生效。 2. 自适应模式在预览、拉流、混流场景下生效,不支持视频外部采集、媒体播放器、云录制、本地录制,不支持通过 CDN 推拉流场景。

setLowlightEnhancement:channel:

setLowlightEnhancement:channel:
- (void)setLowlightEnhancement:(ZegoLowlightEnhancementMode) mode channel:(ZegoPublishChannel) channel;
设置低照度增强。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoLowlightEnhancementMode低照度增强模式。
channelZegoPublishChannel推流通道。

详情

根据设置的低照度增强模式,对摄像头采集的画面亮度进行增强,兼容美颜功能。用户可以在预览时观看效果,并实时切换低照度增强模式。

  • 业务场景:推流端环境较暗,或者摄像头设置的帧率较高导致画面偏暗,无法正常显示或识别主体。
  • 默认值:关闭。
  • 调用时机:创建引擎 [createEngine] 后。
  • 支持版本:2.21.0 及以上。

setLowlightEnhancementParams:channel:

setLowlightEnhancementParams:channel:
- (void)setLowlightEnhancementParams:(ZegoExpLowlightEnhancementParams *) params channel:(ZegoPublishChannel) channel;
设置低照度增强参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramsZegoExpLowlightEnhancementParams *低照度增强参数。
channelZegoPublishChannel推流通道。

详情

根据设置的低照度增强模式,对摄像头采集的画面亮度进行增强,兼容美颜功能。用户可以在预览时观看效果,并实时切换低照度增强模式。

  • 业务场景:推流端环境较暗,或者摄像头设置的帧率较高导致画面偏暗,无法正常显示或识别主体。
  • 调用时机:创建引擎 [createEngine] 后。
  • 支持版本:3.19.0 及以上。

setVideoDenoiseParams:channel:

setVideoDenoiseParams:channel:
- (void)setVideoDenoiseParams:(ZegoVideoDenoiseParams *) params channel:(ZegoPublishChannel) channel;
设置视频降噪参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramsZegoVideoDenoiseParams *视频降噪参数。
channelZegoPublishChannel推流通道。

详情

设置视频降噪参数,包括模式和强度。

  • 默认值:关闭。
  • 调用时机:创建引擎 [createEngine] 后。
  • 平台差异:仅支持 iOS及android
  • 支持版本:3.18.0 及以上。

setVideoSource:

setVideoSource:
- (int)setVideoSource:(ZegoVideoSourceType) source;
设置视频采集源。
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoVideoSourceType视频采集源类型。

详情

设置视频采集源,用于在不同的视频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的视频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型。

setVideoSource:instanceID:

setVideoSource:instanceID:
- (int)setVideoSource:(ZegoVideoSourceType) source instanceID:(unsigned int) instanceID;
设置视频采集源实例作为视频采集源。
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoVideoSourceType视频采集源类型。
instanceIDunsigned int视频采集源实例 ID。

详情

设置视频采集源,用于在不同的视频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的视频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型。

setVideoSource:channel:

setVideoSource:channel:
- (int)setVideoSource:(ZegoVideoSourceType) source channel:(ZegoPublishChannel) channel;
设置指定推流通道的视频采集源。
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoVideoSourceType视频采集源类型。
channelZegoPublishChannel推流通道。

详情

设置视频采集源,用于在不同的视频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的视频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型。
  1. 辅路推流通道 ZegoPublishChannel.Aux 使用 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型时,需要确保主推流通道 ZegoPublishChannel.Main 设备正常工作。
  2. 抢占型视频源不允许在多通道同时使用,例如 ZegoVideoSourceType.Camera、ZegoVideoSourceType.ScreenCapture。
  3. 只有主路使用内部采集,辅路才可复制,且最多支持一路复制。
  4. 设置 ZegoVideoSourceType.Player 视频输入源类型时,请确保 ZegoMediaPlayer 实例创建成功。

setVideoSource:instanceID:channel:

setVideoSource:instanceID:channel:
- (int)setVideoSource:(ZegoVideoSourceType) source instanceID:(unsigned int) instanceID channel:(ZegoPublishChannel) channel;
设置视频采集源实例作为指定推流通道的视频采集源。
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoVideoSourceType视频采集源类型。
instanceIDunsigned int视频采集源实例 ID。
channelZegoPublishChannel推流通道。

详情

设置视频采集源,用于在不同的视频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的视频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型。
  1. 辅路推流通道 ZegoPublishChannel.Aux 使用 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型时,需要确保主推流通道 ZegoPublishChannel.Main 设备正常工作。
  2. 抢占型视频源不允许在多通道同时使用,例如 ZegoVideoSourceType.Camera、ZegoVideoSourceType.ScreenCapture。
  3. 只有主路使用内部采集,辅路才可复制,且最多支持一路复制。
  4. 设置 ZegoVideoSourceType.Player 视频输入源类型时,请确保 ZegoMediaPlayer 实例创建成功。

setAudioSource:

setAudioSource:
- (int)setAudioSource:(ZegoAudioSourceType) source;
设置音频采集源
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoAudioSourceType音频采集源类型。

详情

设置音频采集源,用于在不同的音频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的音频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主路推流通道 ZegoPublishChannel.Main。 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型。

setAudioSource:channel:

setAudioSource:channel:
- (int)setAudioSource:(ZegoAudioSourceType) source channel:(ZegoPublishChannel) channel;
为指定推流通道设置音频采集源
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoAudioSourceType音频采集源类型。
channelZegoPublishChannel推流通道。

详情

设置音频采集源,用于在不同的音频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的音频采集源之间切换的教育场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 注意事项:1. 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型。
  1. 辅路推流通道 ZegoPublishChannel.Aux 使用 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型时,需要确保主推流通道 ZegoPublishChannel.Main 设备正常工作。 3. 抢占型音源不允许在多通道同时使用,例如 ZegoAudioSourceType.Microphone。
  2. 设置 ZegoAudioSourceType.MediaPlayer 音频输入源类型时,请确保 ZegoMediaPlayer 实例创建成功。

setAudioSource:config:

setAudioSource:config:
- (int)setAudioSource:(ZegoAudioSourceType) source config:(ZegoAudioSourceMixConfig *) config;
设置音频采集源及混音配置
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoAudioSourceType音频采集源类型。
configZegoAudioSourceMixConfig *音频采集源混音配置。

详情

设置音频采集源,用于在不同的音频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的音频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主路推流通道 ZegoPublishChannel.Main。 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型。

enableVideoObjectSegmentation:type:channel:

enableVideoObjectSegmentation:type:channel:
- (void)enableVideoObjectSegmentation:(BOOL) enable type:(ZegoObjectSegmentationType) type channel:(ZegoPublishChannel) channel;
开启主体分割。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启主体分割,默认关闭。
typeZegoObjectSegmentationType主体分割类型。
channelZegoPublishChannel推流通道。

详情

主体分割与传输即在推流端将矩形视频内的主体(多数情况下是人)通过 AI 算法分离出来,并在 RTC 网络中传输、在拉流端渲染的技术。

  • 业务场景:需要将视频中的主体与背景分离的场景,例如混合现实、多人同场互动场景等。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:通过 [onVideoObjectSegmentationStateChanged] 监听主体分割状态变化。
  • 相关接口:使用 [enableAlphaChannelVideoEncoder] 支持对分割后的主体的透明背景编码,再进行推流,则可以在拉流端渲染主体带透明背景效果。
  • 支持版本:3.4.0 及以上。
  • 使用限制:开启主体分割为耗时操作,轻勿频繁开启关闭。
  • 注意事项: 1. 在创建引擎 [createEngine] 后调用生效。
  1. 如想监听 [onVideoObjectSegmentationStateChanged] 回调,需要调用预览 [startPreview] 或推流 [startPublishingStream]。

enableVideoObjectSegmentation:config:channel:

enableVideoObjectSegmentation:config:channel:
- (void)enableVideoObjectSegmentation:(BOOL) enable config:(ZegoObjectSegmentationConfig *) config channel:(ZegoPublishChannel) channel;
开启主体分割。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启主体分割,默认关闭。
configZegoObjectSegmentationConfig *主体分割配置。
channelZegoPublishChannel推流通道。

详情

主体分割与传输即在推流端将矩形视频内的主体(多数情况下是人)通过 AI 算法分离出来,并在 RTC 网络中传输、在拉流端渲染的技术。

  • 业务场景:需要将视频中的主体与背景分离的场景,例如混合现实、多人同场互动场景等。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:当开启或者关闭主体分割后,通过 [onVideoObjectSegmentationStateChanged] 可以收到主体分割状态的通知。
  • 相关接口:使用 [enableAlphaChannelVideoEncoder] 支持对分割后的主体的透明背景编码,再进行推流,则可以在拉流端渲染主体带透明背景效果。
  • 支持版本:3.6.0 及以上。
  • 使用限制:开启主体分割为耗时操作,轻勿频繁开启关闭。
  • 注意事项:该功能需要特殊编包,请联系 ZEGO 技术支持。

enableAlphaChannelVideoEncoder:alphaLayout:channel:

enableAlphaChannelVideoEncoder:alphaLayout:channel:
- (void)enableAlphaChannelVideoEncoder:(BOOL) enable alphaLayout:(ZegoAlphaLayoutType) alphaLayout channel:(ZegoPublishChannel) channel;
开启视频编码器透明通道支持。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启视频编码器透明通道支持,默认关闭。
alphaLayoutZegoAlphaLayoutType指定 Alpha 通道数据的布局位置。
channelZegoPublishChannel推流通道。

详情

在推流端开启视频编码器透明通道支持,将分割后的视频主体进行编码,用于推流。

  • 业务场景:需要将视频中的主体与背景分离的场景,例如混合现实、多人同场互动场景等。
  • 调用时机:创建引擎后。
  • 支持版本:3.4.0 及以上。

setCameraStabilizationMode:channel:

setCameraStabilizationMode:channel:
- (void)setCameraStabilizationMode:(int) mode channel:(ZegoPublishChannel) channel;
设置摄像机稳定模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeint摄像机视频稳定模式。
iOS:有关详细信息,请参阅 Apple AVCaptureVideoStabilizationMode 定义。默认值为 0。
Android:AUTO:-1, OFF:0。默认值为 0。
channelZegoPublishChannel推流通道。

详情

设置摄像机稳定模式。

  • 业务场景:用户可以通过使用此接口设置摄像机稳定模式,削弱摄像机抖动对视频采集造成影响。
  • 调用时机:在创建引擎 [createEngine] 后调用。
  • 平台差异:仅支持 iPhone、Android。
  • 支持版本:3.13.0 及以上。
  • 使用限制:仅支持视频内部采集。

enableAuxBgmBalance:

enableAuxBgmBalance:
- (void)enableAuxBgmBalance:(BOOL) enable;
开启或关闭根据伴奏音量,自适应调整人声音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL开启或关闭根据伴奏音量,自适应调整人声音量。

详情

开启或关闭根据伴奏音量,自适应调整人声音量,使人声与伴奏音量均衡。默认关闭。

  • 调用时机:在创建引擎 [createEngine] 后调用。
  • 支持版本:3.18.0 及以上。
  • 使用限制:调用媒体播放器 [EnableAux] 接口开启混音,此接口才生效。

enableFaceDetection:channel:

enableFaceDetection:channel:
- (void)enableFaceDetection:(BOOL) enable channel:(ZegoPublishChannel) channel;
开启或关闭人脸检测。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL开启或关闭人脸检测。
channelZegoPublishChannel推流通道。

详情

开启或关闭人脸检测。默认开启。

  • 调用时机:在创建引擎 [createEngine] 后调用。
  • 相关回调:检测结果会通过 [onPublisherFaceDetectInfo] 回调。
  • 支持版本:3.20.0 及以上。

startPlayingStream:canvas:

startPlayingStream:canvas:
- (void)startPlayingStream:(NSString *) streamID canvas:(ZegoCanvas *) canvas;
开始拉流(从 ZEGO RTC 网络)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
canvasZegoCanvas *用于显示拉流画面的视图,视图设置为 [nil] 时不显示视频,只播放音频。该参数可以设置视图显示模式(viewMode)和背景色。

详情

从 ZEGO RTC 服务器拉取远端用户的音视频流进行互通。

  • 业务场景:在实时连麦场景下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内新增的流信息,并调用此接口传入 "streamID" 进行拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 开发者可通过再次调用此函数实现切换拉流 canvas 的操作(streamID 必须一样)。同一条流只能在唯一的视图中拉取展示,如果调用 [startPlayingStream] 传入相同的 "streamID" 和不同的视图,画面只会在新视图展现。2. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。3. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

startPlayingStream:canvas:config:

startPlayingStream:canvas:config:
- (void)startPlayingStream:(NSString *) streamID canvas:(ZegoCanvas *) canvas config:(ZegoPlayerConfig *) config;
开始拉流(从 ZEGO RTC 服务器或第三方 CDN),支持多房间模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
canvasZegoCanvas *用于显示拉流画面的视图,视图设置为 [nil] 时不显示视频,只播放音频。该参数可以设置视图显示模式(viewMode)和背景色。
configZegoPlayerConfig *拉流进阶配置, [ZegoPlayerConfig] 中房间 [roomID] 为登录的房间ID。

详情

从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音视频流进行互通。

  • 业务场景:在实时连麦或直播场景下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内新增的流信息,并调用此接口传入 "streamID" 进行拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 开发者可通过再次调用此函数实现切换拉流 canvas 的操作(streamID 必须一样)。同一条流只能在唯一的视图中拉取展示,如果调用 [startPlayingStream] 传入相同的 "streamID" 和不同的视图,画面只会在新视图展现。2. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。3. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

startPlayingStream:

startPlayingStream:
- (void)startPlayingStream:(NSString *) streamID;
开始拉流(从 ZEGO RTC 服务器),不带 Canvas 参数,更适用于纯音频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。

详情

从 ZEGO RTC 服务器拉取远端用户的音频流进行互通。

  • 业务场景:在实时连麦场景下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内新增的流信息,并调用此接口传入 "streamID" 进行拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。2. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 3. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音频流被成功推送后,该流可以真正被拉取到。

startPlayingStream:config:

startPlayingStream:config:
- (void)startPlayingStream:(NSString *) streamID config:(ZegoPlayerConfig *) config;
开始拉流(从 ZEGO RTC 服务器或第三方 CDN),不带 Canvas 参数,更适用于纯音频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
configZegoPlayerConfig *拉流进阶配置。

详情

从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音频流进行互通。

  • 业务场景:在实时连麦或直播下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内新增的流信息,并调用此接口传入 "streamID" 进行拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。2. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 3. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

startPlayingStreamInScene:canvas:config:

startPlayingStreamInScene:canvas:config:
- (void)startPlayingStreamInScene:(NSString *) streamID canvas:(ZegoCanvas *) canvas config:(ZegoScenePlayerConfig *) config;
使用范围场景功能时,开始拉流(从 ZEGO RTC 服务器或第三方 CDN)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
canvasZegoCanvas *用于显示拉流画面的视图,视图设置为 [nil] 时不显示视频,只播放音频。该参数可以设置视图显示模式(viewMode)和背景色。
configZegoScenePlayerConfig *场景拉流进阶配置。

详情

从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音视频流进行互通。

  • 业务场景:使用范围场景功能时,用户可以使用该接口自定义拉流。
  • 调用时机:调用 [loginScene] 加入场景后调用该函数。
  • 支持版本:3.4.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 开发者可通过再次调用此函数实现切换拉流 canvas 的操作(streamID 必须一样)。同一条流只能在唯一的视图中拉取展示,如果调用 [startPlayingStreamInScene] 传入相同的 "streamID" 和不同的视图,画面只会在新视图展现。
  1. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。
  2. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect
  3. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

startPlayingStreamInScene:config:

startPlayingStreamInScene:config:
- (void)startPlayingStreamInScene:(NSString *) streamID config:(ZegoScenePlayerConfig *) config;
使用范围场景功能时,开始拉流(从 ZEGO RTC 服务器或第三方 CDN),不带 Canvas 参数,更适用于纯音频流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
configZegoScenePlayerConfig *场景拉流进阶配置。

详情

从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音视频流进行互通。

  • 业务场景:使用范围场景功能时,用户可以使用该接口自定义拉流。
  • 调用时机:调用 [loginScene] 加入场景后后调用该函数。
  • 支持版本:3.3.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 开发者可通过再次调用此函数实现切换拉流 canvas 的操作(streamID 必须一样)。同一条流只能在唯一的视图中拉取展示,如果调用 [startPlayingStreamInScene] 传入相同的 "streamID" 和不同的视图,画面只会在新视图展现。2. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。3. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

switchPlayingStream:toStreamID:config:

switchPlayingStream:toStreamID:config:
- (void)switchPlayingStream:(NSString *) fromStreamID toStreamID:(NSString *) toStreamID config:(ZegoPlayerConfig *) config;
从拉某条流切换为拉另外的流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
fromStreamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
toStreamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
configZegoPlayerConfig *拉流进阶配置。

详情

从拉某条 flv 流平滑的切换到另外一条 flv 流。

  • 业务场景:针对同一条流,可能会存在多路不同分辨率的流,在网络质量变差的时候,为了保证拉流质量,拉流端可以选择从高分辨率流切换到低分辨率的流。
  • 调用时机:调用 [startPlayingStream] 拉了某条流后。
  • 相关回调: 1. 可以通过 [onPlayerSwitched] 事件来获取切换请求的结果。
  1. 当切换流成功时,可以通过 [onPlayerStateUpdate] 事件来获知当前拉流状态。
  2. 当切换流失败时,不一定有 [onPlayerStateUpdate] 事件通知。
  • 支持版本:3.16.0 及以上。
  • 使用限制:只支持 flv 协议的流。

stopPlayingStream:

stopPlayingStream:
- (void)stopPlayingStream:(NSString *) streamID;
停止拉流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID。

详情

停止从 ZEGO RTC 服务器拉取远端用户的音视频流。

  • 业务场景:在实时连麦场景下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内删除的流信息,并调用此接口传入 "streamID" 进行停止拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 停止拉流后对此条流此前设置的属性如 [setPlayVolume]、[mutePlayStreamAudio]、[mutePlayStreamVideo] 等拉流相关的配置都会失效,需要在下次拉流之前重新设置。 2.停止拉流后,iOS平台的视图默认会清除最后一帧,保持为视图的背景色。Android 平台视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。

setPlayStreamDecryptionKey:streamID:

setPlayStreamDecryptionKey:streamID:
- (void)setPlayStreamDecryptionKey:(NSString *) key streamID:(NSString *) streamID;
设置拉流解密密钥。
Declared in ZegoExpressEngine.h

参数

名称类型描述
keyNSString *解密密钥,注意密钥长度仅支持 16/24/32 字节。
streamIDNSString *流 ID。

详情

拉流时会根据设置的密匙解密音视频数据。

  • 业务场景:常用于对音视频通话安全性要求较高的场景。
  • 调用时机:[createEngine]后,拉流后可随时变更。
  • 相关接口:[setPublishStreamEncryptionKey] 设置推流加密密匙。
  • 支持版本:1.19.0 及以上。
  • 使用限制:该函数仅当从 ZEGO RTC 或 L3 服务器拉流时调用有效。
  • 注意事项:推流端有设置加密才能调用此函数。调用 [stopPlayingStream] 或 [logoutRoom] 都将会清空解密密钥。

setPlayStreamCrossAppInfo:streamID:

setPlayStreamCrossAppInfo:streamID:
- (void)setPlayStreamCrossAppInfo:(ZegoCrossAppInfo *) info streamID:(NSString *) streamID;
设置跨 App 拉流信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
infoZegoCrossAppInfo *跨 App 拉流信息。
streamIDNSString *流 ID。

详情

拉流前或拉流重试时,通过该信息鉴权。

  • 业务场景:用于跨 App 拉流等场景。
  • 调用时机:[createEngine]后,拉流后可随时变更。
  • 支持版本:2.19.0 及以上。
  • 使用限制:该函数仅当从 ZEGO RTC 服务器拉流时调用有效。
  • 注意事项:调用 [stopPlayingStream] 或 [logoutRoom] 都将会清空拉流信息。

takePlayStreamSnapshot:callback:

takePlayStreamSnapshot:callback:
- (void)takePlayStreamSnapshot:(NSString *) streamID callback:(ZegoPlayerTakeSnapshotCallback) callback;
拉流画面截图。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *要截图的流 ID。
callbackZegoPlayerTakeSnapshotCallback拉流画面截图结果回调。

详情

对指定拉流ID画面截图。

  • 调用时机:[startPlayingStream]后调用。
  • 相关回调:[onPlayerTakeSnapshotResult] 截图数据回调。
  • 支持版本:1.17.0 及以上。
  • 使用限制:无。

setPlayVolume:streamID:

setPlayVolume:streamID:
- (void)setPlayVolume:(int) volume streamID:(NSString *) streamID;
设置拉流音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint音量百分比,取值范围为 0 ~ 200,默认值为 100。
streamIDNSString *流 ID。

详情

设置拉流的声音大小,本端用户可控制音频流的播放音量。

  • 调用时机:[startPlayingStream] 后调用。
  • 相关接口:[setAllPlayStreamVolume] 设置所有拉流音量。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。
  • 注意事项:停止拉流后,再次拉流需要重新设置。此函数与 [setAllPlayStreamVolume] 函数相互覆盖,最后一个调用生效。

setAllPlayStreamVolume:

setAllPlayStreamVolume:
- (void)setAllPlayStreamVolume:(int) volume;
设置所有拉流音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint音量百分比,取值范围为 0 ~ 200,默认值为 100。

详情

此函数用于设置所有拉流的声音大小,本端用户可控制所有音频流的播放音量。

  • 调用时机:[startPlayingStream]后调用。
  • 相关接口:可使用 [setPlayVolume] 设置指定音视频流的音量。
  • 支持版本:2.3.0 及以上。
  • 使用限制:无。
  • 注意事项:与setPlayVolume函数相互覆盖,最后一个调用生效。

setPlayStreamVideoType:streamID:

setPlayStreamVideoType:streamID:
- (void)setPlayStreamVideoType:(ZegoVideoStreamType) streamType streamID:(NSString *) streamID;
设置播放视频流类型。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamTypeZegoVideoStreamType视频流类型。
streamIDNSString *流 ID。

详情

当推流方通过 [setVideoConfig] 设置了 codecID 为 SVC 时,拉流方可以动态设置选用不同的流类型(小分辨率为标准图层的二分之一)。

  • 业务场景:一般情况下,在网络较弱或者渲染的 UI 窗体较小的情况下,可以选择使用拉取小分辨率的视频来达到节省带宽的目的。
  • 调用时机:[createEngine] 后可调用。
  • 支持版本:2.3.0 及以上。
  • 使用限制:无。

setPlayStreamBufferIntervalRange:min:max:

setPlayStreamBufferIntervalRange:min:max:
- (void)setPlayStreamBufferIntervalRange:(NSString *) streamID min:(unsigned int) min max:(unsigned int) max;
设置拉流播放缓存自适应调整的区间范围。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID。
minunsigned int缓存自适应区间下限,单位毫秒。默认值为 0ms。
maxunsigned int缓存自适应区间上限,单位毫秒。默认值为 4000ms。

详情

设置拉流时 SDK 内部缓存自适应调整的区间范围 0-4000ms。

  • 业务场景:一般在网络环境较差的情况下,调整增大拉流的播放缓存,会显著减少音视频卡顿,但会增大延迟。
  • 调用时机:[createEngine] 后,如果有设置过,则每次重新拉流时都需要重新设置。
  • 支持版本:2.1.0 及以上。
  • 使用限制:无。
  • 注意事项:当开发者设置的缓存区间上限超过 4000ms 时,会取值 4000 ms。当开发者设置的缓存区间上限小于缓存区间下限时,会自动将上限取值为下限。

setPlayStreamFocusOn:

setPlayStreamFocusOn:
- (void)setPlayStreamFocusOn:(NSString *) streamID;
设置拉音视频流优先级的权重。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID。

详情

设置拉音视频流优先级的权重。

  • 业务场景:当开发者业务上,需要对某音视流优先保证质量时(纯音频流下请勿使用),可使用此接口。例如:上课场景,学生拉多路流,则可设置老师流高优先级。
  • 调用时机:[startPlayingStream]之后 。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:默认所有音视频流的权重相同。只能设置一路流是高优先级的,以最后设置的为准。流停止之后自动恢复初始状态,所有流的权重相同。在本地网络不好的时候,保证focus流的同时,可能造成其他的卡顿更多。

mutePlayStreamAudio:streamID:

mutePlayStreamAudio:streamID:
- (void)mutePlayStreamAudio:(BOOL) mute streamID:(NSString *) streamID;
拉流是否可接收指定音频数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL拉流时是否可以接收指定远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。
streamIDNSString *流 ID。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收指定远端用户的音频数据,当开发者不接收音频收据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [muteAllPlayStreamAudio] 函数控制是否接收所有音频数据。必须当 [muteAllPlayStreamAudio] 和 [mutePlayStreamAudio] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的音频数据:1. 当调用 [muteAllPlayStreamAudio(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的音频数据,此时无论在 [muteAllPlayStreamAudio] 之前还是之后调用 [mutePlayStreamAudio] 函数都不生效。2. 当调用 [muteAllPlayStreamAudio(false)] 函数时,本地用户可以接收所有远端用户的音频数据,此时可再通过 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。调用 [mutePlayStreamAudio(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他音频数据;调用 [mutePlayStreamAudio(false, streamID)] 函数则本地用户可以接收 "streamID" 的音频数据。
  • 支持版本:1.1.0 及以上。
  • 注意事项: 1. 与 [muteAllPlayAudioStreams] 一起使用时,可以互相覆盖配置。
  1. 与 [muteAllPlayStreamAudio] 一起使用时,只有当 [muteAllPlayStreamAudio] 函数设置为 “false”时,此函数才有效。
  2. 停止拉流后对此条流此前设置的属性如 [setPlayVolume]、[mutePlayStreamAudio]、[mutePlayStreamVideo] 等拉流相关的配置都会失效,需要在下次拉流之前重新设置。

mutePlayStreamVideo:streamID:

mutePlayStreamVideo:streamID:
- (void)mutePlayStreamVideo:(BOOL) mute streamID:(NSString *) streamID;
拉流是否可接收指定视频数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL拉流时是否可以接收指定远端用户的视频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。SDK 内部自动拉取的流默认值为 false。
streamIDNSString *流 ID。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收指定远端用户的视频数据,当开发者不接收视频数据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复观看远端视频画面时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [muteAllPlayStreamVideo] 函数控制是否接收所有视频数据。必须当 [muteAllPlayStreamVideo] 和 [mutePlayStreamVideo] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的视频数据:1. 当调用 [muteAllPlayStreamVideo(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的视频数据,此时无论在 [muteAllPlayStreamVideo] 之前还是之后调用 [mutePlayStreamVideo] 函数都不生效。2. 当调用 [muteAllPlayStreamVideo(false)] 函数时,本地用户可以接收所有远端用户的视频数据,此时可再通过 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。调用 [mutePlayStreamVideo(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他视频数据;调用 [mutePlayStreamVideo(false, streamID)] 函数则本地用户可以接收 "streamID" 的视频数据。
  • 支持版本:1.1.0 及以上。
  • 注意事项: 1. 与 [muteAllPlayAudioStreams] 一起使用时,可以互相覆盖配置。
  1. 与 [muteAllPlayStreamVideo] 一起使用时,只有当 [muteAllPlayStreamVideo] 函数设置为 “false”时,此函数才有效。
  2. 当指定不接收视频流数据时,视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。
  3. 停止拉流后对此条流此前设置的属性如 [setPlayVolume]、[mutePlayStreamAudio]、[mutePlayStreamVideo] 等拉流相关的配置都会失效,需要在下次拉流之前重新设置。

muteAllPlayStreamAudio:

muteAllPlayStreamAudio:
- (void)muteAllPlayStreamAudio:(BOOL) mute;
拉流是否接收所有音频数据。(当设置为true时, 调用[mutePlayStreamAudio]不会生效)
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL拉流时是否可以接收所有远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的音频数据(包括在调用该函数后新加入房间的用户所推的音频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的音频数据。当开发者不接收音频收据时,可降低硬件和网络的开销

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。必须当 [muteAllPlayStreamAudio] 和 [mutePlayStreamAudio] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的音频数据:1. 当调用 [muteAllPlayStreamAudio(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的音频数据,此时无论在 [muteAllPlayStreamAudio] 之前还是之后调用 [mutePlayStreamAudio] 函数都不生效。 2. 当调用 [muteAllPlayStreamAudio(false)] 函数时,本地用户可以接收所有远端用户的音频数据,此时可再通过 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。调用 [mutePlayStreamAudio(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他音频数据;调用 [mutePlayStreamAudio(false, streamID)] 函数则本地用户可以接收 "streamID" 的音频数据。
  • 支持版本:2.4.0 及以上。
  • 注意事项:此接口在 SDK 生命周期内不能和 [muteAllPlayAudioStreams] 混用。

muteAllPlayAudioStreams:

muteAllPlayAudioStreams:
- (void)muteAllPlayAudioStreams:(BOOL) mute;
拉流是否接收所有音频数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL拉流时是否可以接收所有远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的音频数据(包括在调用该函数后新加入房间的用户所推的音频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的音频数据。当开发者不接收音频收据时,可降低硬件和网络的开销

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。
  • 支持版本:3.10.0 及以上。
  • 注意事项:此接口在 SDK 生命周期内不能和 [muteAllPlayStreamAudio] 混用。

muteAllPlayStreamVideo:

muteAllPlayStreamVideo:
- (void)muteAllPlayStreamVideo:(BOOL) mute;
拉流是否可接收所有视频数据。(当设置为true时, 调用[mutePlayStreamVideo]不会生效)
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL拉流时是否可以接收所有远端用户的视频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的视频数据(包括在调用该函数后新加入房间的用户所推的视频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的视频数据。当开发者不接收视频数据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复观看远端视频画面时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。必须当 [muteAllPlayStreamVideo] 和 [mutePlayStreamVideo] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的视频数据: 1. 当调用 [muteAllPlayStreamVideo(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的视频数据,此时无论在 [muteAllPlayStreamVideo] 之前还是之后调用 [mutePlayStreamVideo] 函数都不生效。 2. 当调用 [muteAllPlayStreamVideo(false)] 函数时,本地用户可以接收所有远端用户的视频数据,此时可再通过 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。调用 [mutePlayStreamVideo(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他视频数据;调用 [mutePlayStreamVideo(false, streamID)] 函数则本地用户可以接收 "streamID" 的视频数据。
  • 支持版本:2.4.0 及以上。
  • 注意事项: 1. 此接口在 SDK 生命周期内不能和 [muteAllPlayVideoStreams] 混用。
  1. 当指定不接收视频流数据时,视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。

muteAllPlayVideoStreams:

muteAllPlayVideoStreams:
- (void)muteAllPlayVideoStreams:(BOOL) mute;
拉流是否可接收所有视频数据
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL拉流时是否可以接收所有远端用户的视频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的视频数据(包括在调用该函数后新加入房间的用户所推的视频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的视频数据。当开发者不接收视频数据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复观看远端视频画面时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。
  • 支持版本:3.10.0 及以上。
  • 注意事项: 1. 此接口在 SDK 生命周期内不能和 [muteAllPlayStreamVideo] 混用。
  1. 当指定不接收视频流数据时,视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。

enableHardwareDecoder:

enableHardwareDecoder:
- (void)enableHardwareDecoder:(BOOL) enable;
开/关硬件解码。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启硬解开关,true 表示开启硬解,false 表示关闭硬解。

详情

拉流时是否使用硬件解码,开启硬件解码后 SDK 会使用 GPU 进行解码,降低 CPU 使用率。

  • 业务场景:若开发者在某些机型测试时发现拉大分辨率音视频流时设备发热严重,可考虑调用此函数开启硬件解码的方式。
  • 默认值:未调用此接口时,默认关闭硬解。
  • 调用时机:此函数需要在 [createEngine] 创建实例后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在拉流前设置才能生效,如果在拉流后设置,停止拉流后重新拉流才生效,此配置生效后,在下次调用生效前一直有效。

enableCheckPoc:

enableCheckPoc:
- (void)enableCheckPoc:(BOOL) enable;
开/关帧顺序检测。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启帧顺序检测,true 表示开启帧顺序检测,false 表示关闭帧顺序检测。

详情

设置是否开启帧顺序检查。

  • 业务场景:拉cdn的流时,开启帧顺序检测可防止花屏。
  • 默认值:未调用此接口时,默认开启帧顺序检测。
  • 调用时机:此函数需要在 [createEngine] 创建实例后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:拉流过程中关闭顺序检测可能出现短暂花屏。

isVideoDecoderSupported:

isVideoDecoderSupported:
- (BOOL)isVideoDecoderSupported:(ZegoVideoCodecID) codecID;
是否支持指定视频解码格式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
codecIDZegoVideoCodecID视频解码类型。是否必填:是。

详情

是否支持指定视频解码,主要取决于以下几个方面:硬件型号是否支持硬解、硬件型号性能是否支持软解、SDK 是否带该解码模块。

  • 调用时机:创建引擎后。
  • 支持版本:2.12.0 及以上。
  • 注意事项:建议用户在拉 H.265 流前,先调用本接口获取 H.265 解码支持能力,如果不支持,可以拉其他编码格式的流,比如 H.264。

返回值

是否支持指定视频解码格式;true 表示支持,可以使用该解码格式进行拉流;false 表示不支持,SDK 不建议用户拉取该编码格式的流,如果用户强制拉取,可能会出现低帧率的表现。

isVideoDecoderSupported:codecBackend:

isVideoDecoderSupported:codecBackend:
- (int)isVideoDecoderSupported:(ZegoVideoCodecID) codecID codecBackend:(ZegoVideoCodecBackend) codecBackend;
是否支持指定视频解码格式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
codecIDZegoVideoCodecID视频解码类型。是否必填:是。
codecBackendZegoVideoCodecBackend解码器的后端实现。是否必填:是。

详情

是否支持指定视频解码,主要取决于以下几个方面:硬件型号是否支持硬解、硬件型号性能是否支持软解、SDK 是否带该解码模块。

  • 调用时机:创建引擎后。
  • 支持版本:3.0.0 及以上。
  • 注意事项:建议用户在拉 H.265 流前,先调用本接口获取 H.265 解码支持能力,如果不支持,可以拉其他编码格式的流,比如 H.264。

返回值

是否支持指定视频解码格式;0 表示不支持,不可以使用该解码格式进行拉流;1 表示支持,可以使用该解码格式进行拉流;2 表示未确认,建议稍后再调用本接口。

setPlayStreamsAlignmentProperty:

setPlayStreamsAlignmentProperty:
- (void)setPlayStreamsAlignmentProperty:(ZegoStreamAlignmentMode) mode;
设置拉流对齐属性。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoStreamAlignmentMode设置流对齐模式。

详情

拉流端播放时,控制播放的 RTC 流是否需要精准对齐。若需要,则拉取的所有流中包含精准对齐参数的会进行对齐,若不需要,则所有流都不对齐。

  • 业务场景:常用于 KTV 等需要拉多路流对齐的场景,以保证用户在使用过程中,随时切换 唱歌主播、普通麦上语聊主播、麦下观众多种身份。
  • 默认值:若未调该接口,默认为 不对齐。
  • 调用时机:需要在 [createEngine] 之后调用。重复调用接口,最新设置有效。
  • 相关接口:设置流通道的精准对齐参数 [setStreamAlignmentProperty]。
  • 支持版本:2.14.0 及以上。

enableVideoSuperResolution:enable:

enableVideoSuperResolution:enable:
- (void)enableVideoSuperResolution:(NSString *) streamID enable:(BOOL) enable;
开启视频画面超分。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *当前需要开启或关闭超分的流的 ID。
enableBOOL是否开启超分,默认不开启。

详情

拉流时是否开启视频超分,通过视频超分可以在拉流端对拉到的视频画面的分辨率进行倍增。如原始分辨率为 640x360,超分后为 1280x720。

  • 业务场景:直播场景。
  • 调用时机:视频超分仅对拉流视频画面有效。需要在 [initVideoSuperResolution] 之后调用。
  • 相关回调:开发者可以通过 [onPlayerVideoSuperResolutionUpdate] 回调监听视频超分状态变化。
  • 支持版本:3.0.0 及以上。
  • 注意事项: 1. 该功能需要特殊编包,请联系 ZEGO 技术支持;
  1. 该功能会额外耗费系统资源,为了保证用户体验,ZEGO 限制只能对一条流开启超分辨率,且该条流的原始分辨率不建议超过 640×360。

initVideoSuperResolution

initVideoSuperResolution
- (void)initVideoSuperResolution;
初始化视频画面超分。
Declared in ZegoExpressEngine.h

初始化超分后,才能正常使用超分功能。

  • 业务场景:直播场景。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:3.3.0 及以上。
  • 注意事项: 1. 初始化视频画面超分为耗时操作,不建议频繁初始化、反初始化;
  1. 该功能需要特殊编包,请联系 ZEGO 技术支持。

uninitVideoSuperResolution

uninitVideoSuperResolution
- (void)uninitVideoSuperResolution;
反初始化视频画面超分。
Declared in ZegoExpressEngine.h

反初始化超分后,SDK 将释放超分占用的资源,并导致超分功能不可用。

  • 业务场景:直播场景。
  • 调用时机:需要在 [initVideoSuperResolution] 之后调用。
  • 支持版本:3.3.0 及以上。
  • 注意事项:初始化视频画面超分为耗时操作,不建议频繁初始化、反初始化。

updatePlayingCanvas:canvas:

updatePlayingCanvas:canvas:
- (int)updatePlayingCanvas:(NSString *) streamID canvas:(ZegoCanvas *) canvas;
更新拉流视图。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
canvasZegoCanvas *用于显示拉流画面的视图,视图设置为 [nil] 时不显示视频,只播放音频。该参数可以设置视图显示模式(viewMode)和背景色。

详情

该接口会更新拉流视图。

  • 业务场景:用户可调用该接口更新拉流视图显示视频。
  • 调用时机:调用 [startPlayingStream] 接口后。
  • 支持版本:3.4.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用错误码文档 https://doc-zh.zego.im/zh/4378.html

setPlayingCanvas:updateType:canvas:

setPlayingCanvas:updateType:canvas:
- (int)setPlayingCanvas:(NSString *) streamID updateType:(ZegoViewUpdateType) updateType canvas:(ZegoCanvas *) canvas;
设置拉流视图。
Declared in ZegoExpressEngine.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
updateTypeZegoViewUpdateType更新类型。
canvasZegoCanvas *用于显示拉流画面的视图。

详情

该接口可以添加、删除、更新拉流视图。

  • 业务场景:用户可调用该接口添加、删除、更新拉流视图显示视频。
  • 调用时机:调用 [startPlayingStream] 接口后。
  • 支持版本:3.21.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用错误码文档 https://doc-zh.zego.im/zh/4378.html

startMixerTask:callback:

startMixerTask:callback:
- (void)startMixerTask:(ZegoMixerTask *) task callback:(nullable ZegoMixerStartCallback) callback;
开始混流任务。
Declared in ZegoExpressEngine.h

参数

名称类型描述
taskZegoMixerTask *混流任务对象。是否必填:是。
callbacknullable ZegoMixerStartCallback开始混流任务结果通知。是否必填:否。注意事项:传 [nil] 则意味着不接收回调通知。

详情

向 ZEGO RTC 服务器发起混流请求,服务器会寻找当前正在推的流,并根据 SDK 请求的混流任务的参数进行图层混合。当需要更新混流任务时,即输入流增加或减少时需要更新输入流列表,此时可以更新 [ZegoMixerTask] 对象 inputList 的字段并再次调用本函数传入相同的 [ZegoMixerTask] 对象更新混流任务。

  • 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
  • 调用时机:调用 [loginRoom] 登录房间后。
  • 相关回调:可通过 [onMixerRelayCDNStateUpdate] 获取混流转推 CDN 状态更新通知,可通过 [onMixerSoundLevelUpdate] 获取混流中的每条单流的声浪更新通知。
  • 相关接口:可通过 [stopMixerTask] 函数停止混流。
  • 支持版本:1.2.1 及以上。
  • 使用限制:无。
  • 注意事项:由于客户端设备的性能考虑,SDK 的混流是在 ZEGO RTC 服务器开启混流任务进行混流。若请求开启混流任务发生异常,例如最常见的混流的输入流不存在,将会从 callback 回调的错误码给出。具体错误码请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html 若中途某条输入流不存在了,混流任务会自动重试拉这条输入流 90 秒,90 秒之后不再重试。若所有输入流均不存在了,90秒之后服务器会自动停止混流任务。

stopMixerTask:callback:

stopMixerTask:callback:
- (void)stopMixerTask:(ZegoMixerTask *) task callback:(nullable ZegoMixerStopCallback) callback;
停止混流任务。
Declared in ZegoExpressEngine.h

参数

名称类型描述
taskZegoMixerTask *混流任务对象。是否必填:是。
callbacknullable ZegoMixerStopCallback停止混流任务结果通知。是否必填:否。注意事项:传 [nil] 则意味着不接收回调通知。

详情

向 ZEGO RTC 服务器发起结束混流请求。

  • 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
  • 调用时机:调用 [startMixerTask] 开始混流后。
  • 相关接口:可通过 [startMixerTask] 函数开始混流。
  • 支持版本:1.2.1 及以上。
  • 使用限制:无。
  • 注意事项:若开发者在未停止上一个混流任务的情况下启动下一个混流任务,上一个混流任务不会自动停止,直到上一个混流任务的输入流持续 90 秒都不存在之后。在启动下一个混流任务前,应当先停止上一个混流任务,以免当一个主播已经开启下一个混流任务与其他主播混流时,观众依然在拉上一个混流任务的输出流。

startAutoMixerTask:callback:

startAutoMixerTask:callback:
- (void)startAutoMixerTask:(ZegoAutoMixerTask *) task callback:(nullable ZegoMixerStartCallback) callback;
开始自动混流任务
Declared in ZegoExpressEngine.h

参数

名称类型描述
taskZegoAutoMixerTask *自动混流任务对象
callbacknullable ZegoMixerStartCallback开始自动混流任务结果通知

详情

本地用户可调用该函数开始自动混流任务,对房间内的所有流进行混流,目前仅支持音频流自动混流。启动自动混流后,会自动混流该房间内所有流的音频,此房间内再发起的推流也会自动混入最后的输出流中。

  • 业务场景:常用于语聊房场景下,需要由客户端发起自动混流任务时。
  • 调用时机:在创建引擎后,如果目标房间已经创建,可调用该函数在目标房间开启自动混流。
  • 相关回调:通过 [ZegoMixerStartCallback] 回调,用户可以获取函数执行结果。通过 [onAutoMixerSoundLevelUpdate] 回调,用户可以获取自动混流后声浪信息。
  • 相关接口:可调用 [stopAutoMixerTask] 函数,停止自动混流任务。
  • 支持版本:2.10.0 及以上。
  • 注意事项:在同一个房间内开启下一个自动混流任务前,请先调用 [stopAutoMixerTask] 函数结束上一次自动混流任务,以免造成当一个主播已经开启下一个自动混流任务与其他主播混流时,观众依然在一直拉上一个自动混流任务的输出流的情况。若用户未主动结束当前自动混流任务,该任务将在房间不存在之后或者输入流持续 90 秒不存在之后自动结束。

stopAutoMixerTask:callback:

stopAutoMixerTask:callback:
- (void)stopAutoMixerTask:(ZegoAutoMixerTask *) task callback:(nullable ZegoMixerStopCallback) callback;
停止自动混流任务
Declared in ZegoExpressEngine.h

参数

名称类型描述
taskZegoAutoMixerTask *自动混流任务对象
callbacknullable ZegoMixerStopCallback停止自动混流任务结果通知

详情

本地用户可调用该函数结束自动混流任务。

  • 业务场景:常用于语聊房场景下,需要由客户端发起自动混流任务时。
  • 调用时机:在调用 [startAutoMixerTask] 函数开启自动混流任务后可调用该函数。
  • 相关回调:通过 [ZegoMixerStopCallback] 回调,用户可以获取函数执行结果。
  • 相关接口:可调用 [startAutoMixerTask] 函数,开始自动混流任务。
  • 支持版本:2.10.0 及以上。
  • 注意事项:在同一个房间内调用 [startAutoMixerTask] 函数开启下一个自动混流任务前,请先调用此函数结束上一次自动混流任务,以免造成当一个主播已经开启下一个自动混流任务与其他主播混流时,观众依然在一直拉上一个自动混流任务的输出流的情况。若用户未主动结束当前自动混流任务,该任务将在房间不存在之后或者输入流持续 90 秒不存在之后自动结束。

muteMicrophone:

muteMicrophone:
- (void)muteMicrophone:(BOOL) mute;
设置是否静音(关闭麦克风)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否静音(关闭麦克风);"true" 表示静音(关闭麦克风);"false" 表示开启麦克风。

详情

此函数用于控制是否使用采集到的音频数据,静音(关闭麦克风)将会使用静音数据替换设备采集到的音频数据进行推流,此时仍然会占用麦克风设备。

  • 业务场景:用户仅关闭麦克风采集的人声,不关闭媒体播放器的音乐声音,可以调用该接口。该接口影响 [onBeforeAudioPrepAudioData]。
  • 默认值:默认为 "false",即不静音。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:若想要真正让 SDK 放弃占用麦克风,例如实现 App 退到后台后释放麦克风占用等功能,可调用 [enableAudioCaptureDevice] 函数开关音频采集设备。可使用 [isMicrophoneMuted] 来检查麦克风是否静音。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

isMicrophoneMuted

isMicrophoneMuted
- (BOOL)isMicrophoneMuted;
检查麦克风是否设置为静音。
Declared in ZegoExpressEngine.h

用于判断麦克风是否被设置为静音。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[muteMicrophone]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

麦克风是否静音;"true" 表示麦克风静音;"false" 表示麦克风开启中(没有被静音)。

muteSpeaker:

muteSpeaker:
- (void)muteSpeaker:(BOOL) mute;
设置是否静音(关闭音频输出)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否静音(关闭音频输出);"true" 表示静音(关闭音频输出);"false" 表示开启音频输出。

详情

设置静音后,SDK 所有声音都不会播放,包括拉流、媒体播放器等。

  • 默认值:默认为 "false",即不静音。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

isSpeakerMuted

isSpeakerMuted
- (BOOL)isSpeakerMuted;
检查音频输出是否静音。
Declared in ZegoExpressEngine.h

用于判断音频输出是否静音。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[muteSpeaker]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

音频输出是否静音;"true" 表示音频输出静音;"false" 表示音频输出开启中(没有被静音)。

getAudioDeviceList:

getAudioDeviceList:
- (NSArray<ZegoDeviceInfo *> *)getAudioDeviceList:(ZegoAudioDeviceType) deviceType;
获取音频设备列表
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型

详情

只适用于 Windows / macOS / Linux

返回值

音频设备列表

getDefaultAudioDeviceID:

getDefaultAudioDeviceID:
- (NSString *)getDefaultAudioDeviceID:(ZegoAudioDeviceType) deviceType;
获取默认音频设备 ID
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型

详情

只适用于 Windows / macOS / Linux

返回值

默认音频设备 ID

useAudioDevice:deviceType:

useAudioDevice:deviceType:
- (void)useAudioDevice:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType;
选择使用某个音频设备
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型

详情

选择使用某个音频设备。

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:仅支持 Windows / macOS / Linux

getAudioDeviceVolume:deviceType:

getAudioDeviceVolume:deviceType:
- (int)getAudioDeviceVolume:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType;
获取音频设备音量
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型

详情

获取音频设备音量,只适用于 Windows / macOS / Linux

返回值

设备音量

setAudioDeviceVolume:deviceType:volume:

setAudioDeviceVolume:deviceType:volume:
- (void)setAudioDeviceVolume:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType volume:(int) volume;
设置音频设备音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型
volumeint设备音量

详情

可能因为系统限制导致直接操作系统设备失败,请优先使用 [setCaptureVolume] 和 [setPlayVolume] 来调节推拉流音量。 只适用于 Windows / macOS / Linux

startAudioDeviceVolumeMonitor:deviceType:

startAudioDeviceVolumeMonitor:deviceType:
- (void)startAudioDeviceVolumeMonitor:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType;
开启音频设备音量监控。
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型

详情

启动音频设备音量监控器。当该设备音量发生变更时,会通过 [onAudioDeviceVolumeChanged] 回调变更后的音量。

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 平台差异:仅支持 Windows 和 macOS。
  • 相关接口:当不再需要监控设备音量时,请调用 [stopAudioDeviceVolumeMonitor] 停止监控。
  • 支持版本:1.1.0 及以上。
  • 注意事项:目前仅支持同时监控一个音频输出设备和一个音频输入设备,多次调用此接口且传入相同的设备类型时将会覆盖上一次调用时此接口设置的设备 ID。

stopAudioDeviceVolumeMonitor:deviceType:

stopAudioDeviceVolumeMonitor:deviceType:
- (void)stopAudioDeviceVolumeMonitor:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType;
停止音频设备音量监控。
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型

详情

停止音频设备音量监控器。

  • 调用时机:在创建引擎 [createEngine] 之后,当不再需要监控设备音量时。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:1.1.0 及以上。

muteAudioDevice:deviceType:mute:

muteAudioDevice:deviceType:mute:
- (void)muteAudioDevice:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType mute:(BOOL) mute;
静音或取消静音音频设备。
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型
muteBOOL是否静音音频设备;"true" 表示静音音频设备;"false" 表示取消静音音频设备。

详情

只适用于 Windows / macOS / Linux

setAudioDeviceMode:

setAudioDeviceMode:
- (void)setAudioDeviceMode:(ZegoAudioDeviceMode) deviceMode;
设置音频设备模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceModeZegoAudioDeviceMode音频设备模式

详情

根据场景需要选择音频设备模式(仅 Android 和 iOS 支持)。 使用场景:如实时 KTV 场景下,必须使用 General 模式,但是在语聊房场景下,为了避免第三方音乐的声音被采集,所以会要求使用 Communication2 或者 Communication3 模式。如何设置音频设备模式,请参考 https://doc-zh.zego.im/faq/AudioDeviceMod?product=ExpressVideo&platform=macos

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 支持版本:2.22.0 及以上。
  • 注意事项:该接口会触发设备的启动切换,建议不要频繁调用,避免不必要的开销与硬件问题。该接口可能导致音量模式在通话/媒体间切换,若媒体音量和通话音量不一致,可能导致音量变化。

isAudioDeviceMuted:deviceType:

isAudioDeviceMuted:deviceType:
- (BOOL)isAudioDeviceMuted:(NSString *) deviceID deviceType:(ZegoAudioDeviceType) deviceType;
检查音频设备是否静音
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getAudioDeviceList] 获取的某个设备的 ID
deviceTypeZegoAudioDeviceType音频设备类型

详情

只适用于 Windows / macOS / Linux

返回值

音频设备是否静音;"true" 表示音频设备静音;"false" 表示音频设备没有被静音。

enableAudioCaptureDevice:

enableAudioCaptureDevice:
- (void)enableAudioCaptureDevice:(BOOL) enable;
开/关音频采集设备。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启音频采集设备;"true" 表示打开音频采集设备;"false" 表示关闭音频采集设备。

详情

此函数用于控制是否使用音频采集设备。如果关闭音频采集设备,则 SDK 不会再占用音频设备,当然如果此时正在推流,默认情况下会使用静音数据做为音频数据进行推流。注意 Linux 平台不支持该功能 使用场景:当用户从不需要用到音频的时候,可以调用此函数关闭音频采集。

  • 默认值:默认为 "true"。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:硬件上关闭或打开麦克风是耗时操作,用户频繁操作时有一定的性能开销,一般推荐使用 [muteMicrophone]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

getAudioRouteType

getAudioRouteType
- (ZegoAudioRoute) getAudioRouteType;
获取当前音频路由。
Declared in ZegoExpressEngine.h

音频路由是指 App 在播放音频时使用的音频输出设备,常见的音频路由有:扬声器、听筒、耳机、蓝牙设备等。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:设置音频路由到扬声器 [setAudioRouteToSpeaker]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:win 或 mac 平台下不支持。

setAudioRouteToSpeaker:

setAudioRouteToSpeaker:
- (void)setAudioRouteToSpeaker:(BOOL) defaultToSpeaker;
设置音频路由到扬声器。
Declared in ZegoExpressEngine.h

参数

名称类型描述
defaultToSpeakerBOOL是否使用内置扬声器播放声音,"true" 表示使用内置扬声器播放声音,"false" 表示使用当前系统调度的优先级最高的音频输出设备播放声音。

详情

是否使用扬声器播放音频,当选择不使用内置扬声器播放声音时,SDK 会根据系统调度选择当前优先级最高的音频输出设备播放声音,常见的音频路由有:听筒、耳机、蓝牙设备等。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:获取当前音频路由 [getAudioRouteType]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:只支持听筒和扬声器的切换,如果是蓝牙耳机或者有线耳机不支持通过该接口路由到扬声器。

enableCamera:

enableCamera:
- (void)enableCamera:(BOOL) enable;
开/关摄像头。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否打开摄像头;"true" 表示打开摄像头;"false" 表示关闭摄像头。

详情

此函数用于控制是否启动摄像头的采集,关闭摄像头后,将不会进行视频采集,此时本地预览和推流都将没有视频数据。

  • 默认值:默认为 "true",即打开摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,但此函数依然会影响是否进行编码的行为。因此开发者使用自定义视频采集时,请确保此函数的值为 "true"。

enableCamera:channel:

enableCamera:channel:
- (void)enableCamera:(BOOL) enable channel:(ZegoPublishChannel) channel;
开/关摄像头,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否打开摄像头;"true" 表示打开摄像头;"false" 表示关闭摄像头。
channelZegoPublishChannel推流通道

详情

此函数用于控制是否启动摄像头的采集,关闭摄像头后,将不会进行视频采集,此时本地预览和推流都将没有视频数据。

  • 默认值:默认为 "true",即打开摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,但此函数依然会影响是否进行编码的行为。因此开发者使用自定义视频采集时,请确保此函数的值为 "true"。

enableCamera:notifyMode:channel:

enableCamera:notifyMode:channel:
- (void)enableCamera:(BOOL) enable notifyMode:(ZegoExpNotifyDeviceStateMode) notifyMode channel:(ZegoPublishChannel) channel;
开/关摄像头,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否打开摄像头;"true" 表示打开摄像头;"false" 表示关闭摄像头。
notifyModeZegoExpNotifyDeviceStateMode通知本端设备状态的模式。
channelZegoPublishChannel推流通道

详情

此函数用于控制是否启动摄像头的采集,关闭摄像头后,将不会进行视频采集,此时本地预览和推流都将没有视频数据。

  • 默认值:默认为 "true",即打开摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:3.20.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,但此函数依然会影响是否进行编码的行为。因此开发者使用自定义视频采集时,请确保此函数的值为 "true"。

useFrontCamera:

useFrontCamera:
- (void)useFrontCamera:(BOOL) enable;
切换前后摄像头。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL[ZegoVideoSourceTypeCamera] 是否采用前置摄像头;true: 表示使用前置摄像头;false: 表示使用后置摄像头。

详情

此函数用于控制 [ZegoVideoSourceTypeCamera] 使用前置摄像头或者后置摄像头(仅 Android 和 iOS 支持)。

  • 默认值:默认为 "true",即使用前置摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在开启自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,本函数不再有效。

useFrontCamera:channel:

useFrontCamera:channel:
- (void)useFrontCamera:(BOOL) enable channel:(ZegoPublishChannel) channel;
切换前后摄像头,支持指定推流通道。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL[ZegoVideoSourceTypeCamera] 是否采用前置摄像头;true: 表示使用前置摄像头;false: 表示使用后置摄像头。
channelZegoPublishChannel推流通道。

详情

此函数用于控制 [ZegoVideoSourceTypeCamera] 使用前置摄像头或者后置摄像头(仅 Android 和 iOS 支持)。

  • 默认值:默认为 "true",即使用前置摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在开启自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,本函数不再有效。

isCameraFocusSupported:

isCameraFocusSupported:
- (BOOL)isCameraFocusSupported:(ZegoPublishChannel) channel;
摄像头是否支持对焦
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

摄像头是否支持对焦。

  • 调用时机:在开启预览后 [startPreview] 后调用。
  • 支持版本:2.14.0 及以上
  • 注意事项:需要摄像头启动成功

返回值

是否支持对焦,支持为 true,不支持为 false

setCameraFocusMode:channel:

setCameraFocusMode:channel:
- (void)setCameraFocusMode:(ZegoCameraFocusMode) mode channel:(ZegoPublishChannel) channel;
设置摄像头对焦模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoCameraFocusMode对焦模式。
channelZegoPublishChannel推流通道

详情

设置摄像头对焦模式。

  • 调用时机:在开启预览后 [startPreview] 后调用。
  • 支持版本:2.14.0 及以上
  • 使用限制:目前只支持 iOS 和 Android 平台。

setCameraFocusPointInPreviewX:y:channel:

setCameraFocusPointInPreviewX:y:channel:
- (void)setCameraFocusPointInPreviewX:(float) x y:(float) y channel:(ZegoPublishChannel) channel;
设置预览视图中的对焦点。
Declared in ZegoExpressEngine.h

参数

名称类型描述
xfloat归一化的 X 轴坐标值, 有效值 [0,1]。
yfloat归一化的 Y 轴坐标值, 有效值 [0,1]。
channelZegoPublishChannel推流通道

详情

设置预览视图中的对焦点。(x,y)是在预览视图中归一化的坐标,即对焦点相对预览视图的位置与预览视图宽高的比值,左上角是(0, 0)。

  • 调用时机:在开启预览后 [startPreview] 后调用。
  • 支持版本:2.14.0 及以上
  • 使用限制:目前只支持 iOS 和 Android 平台。
  • 注意事项:每次摄像头重新启动采集,设置都会失效,需要重新设置。

setCameraExposureMode:channel:

setCameraExposureMode:channel:
- (void)setCameraExposureMode:(ZegoCameraExposureMode) mode channel:(ZegoPublishChannel) channel;
设置摄像头曝光模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoCameraExposureMode曝光模式。
channelZegoPublishChannel推流通道

详情

设置摄像头曝光模式。

  • 调用时机:在开启预览后 [startPreview] 后调用。
  • 支持版本:2.14.0 及以上
  • 使用限制:目前只支持 iOS 和 Android 平台。

setCameraExposurePointInPreviewX:y:channel:

setCameraExposurePointInPreviewX:y:channel:
- (void)setCameraExposurePointInPreviewX:(float) x y:(float) y channel:(ZegoPublishChannel) channel;
设置预览视图中的曝光点。
Declared in ZegoExpressEngine.h

参数

名称类型描述
xfloat归一化的 X 轴坐标值, 有效值 [0,1]。
yfloat归一化的 Y 轴坐标值, 有效值 [0,1]。
channelZegoPublishChannel推流通道

详情

设置预览视图中的曝光点。(x,y)是在预览视图中归一化的坐标,即曝光点相对预览视图的位置与预览视图宽高的比值,左上角是(0, 0)。

  • 调用时机:在开启预览后 [startPreview] 后调用。
  • 支持版本:2.14.0 及以上
  • 使用限制:目前只支持 iOS 和 Android 平台。
  • 注意事项:每次摄像头重新启动采集,设置都会失效,需要重新设置。

setCameraExposureCompensation:

setCameraExposureCompensation:
- (void)setCameraExposureCompensation:(float) value;
设置摄像头曝光补偿数值。
Declared in ZegoExpressEngine.h

参数

名称类型描述
valuefloat摄像头曝光度,取值范围为 [-1,1], 默认值为 0。取值越小画面越暗,取值越大画面越亮。

详情

设置摄像头曝光补偿数值。

  • 业务场景:当用户需要设置摄像头曝光补偿值时,可以调用此接口。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 平台差异:仅支持 iOS 和 Android。
  • 支持版本:2.10.0 及以上。
  • 使用限制:无。
  • 注意事项:摄像头重启后,设置会失效。

setCameraExposureCompensation:channel:

setCameraExposureCompensation:channel:
- (void)setCameraExposureCompensation:(float) value channel:(ZegoPublishChannel) channel;
设置摄像头曝光补偿数值,支持指定推流通道号。
Declared in ZegoExpressEngine.h

参数

名称类型描述
valuefloat摄像头曝光度,取值范围为 [-1,1], 默认值为 0。取值越小画面越暗,取值越大画面越亮。
channelZegoPublishChannel推流通道

详情

设置摄像头曝光补偿数值。

  • 业务场景:当用户需要设置摄像头曝光补偿值时,可以调用此接口。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 平台差异:仅支持 iOS 和 Android。
  • 支持版本:2.10.0 及以上。
  • 使用限制:无。
  • 注意事项:摄像头重启后,设置会失效。

setCameraZoomFactor:

setCameraZoomFactor:
- (void)setCameraZoomFactor:(float) factor;
设置摄像头变焦倍数。每次摄像头重新启动时,摄像头变焦倍数都将会恢复初始值 (1.0)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
factorfloat摄像头变焦倍数,最小值为 1.0,最大值为 [getCameraMaxZoomFactor] 的返回值。

详情

设置摄像头变焦倍数。

  • 调用时机:在开启预览 [startPreview] 后调用。
  • 支持版本:1.20.0 及以上。
  • 使用限制:摄像头启动后设置才生效。

setCameraZoomFactor:channel:

setCameraZoomFactor:channel:
- (void)setCameraZoomFactor:(float) factor channel:(ZegoPublishChannel) channel;
设置摄像头变焦倍数,支持指定推流通道号。每次摄像头重新启动时,摄像头变焦倍数都将会恢复初始值 (1.0)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
factorfloat摄像头变焦倍数,最小值为 1.0,最大值为 [getCameraMaxZoomFactor] 的返回值。
channelZegoPublishChannel推流通道

详情

设置摄像头变焦倍数。

  • 调用时机:在开启预览 [startPreview] 后调用。
  • 支持版本:1.20.0 及以上。
  • 使用限制:摄像头启动后设置才生效。

getCameraMaxZoomFactor

getCameraMaxZoomFactor
- (float)getCameraMaxZoomFactor;
获取摄像头最大变焦倍数
Declared in ZegoExpressEngine.h

获取摄像头最大变焦倍数。

  • 调用时机:摄像头启动成功后调用才有效,一般可以在收到采集首帧回调 [onPublisherCapturedVideoFirstFrame] 的时候调用。
  • 支持版本:1.20.0 及以上。
  • 使用限制:无。

摄像头最大变焦倍数

getCameraMaxZoomFactor:

getCameraMaxZoomFactor:
- (float)getCameraMaxZoomFactor:(ZegoPublishChannel) channel;
获取摄像头最大变焦倍数,支持指定推流通道号。
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

获取摄像头最大变焦倍数。

  • 调用时机:摄像头启动成功后调用才有效,一般可以在收到采集首帧回调 [onPublisherCapturedVideoFirstFrame] 的时候调用。
  • 支持版本:1.20.0 及以上。
  • 使用限制:无。

返回值

摄像头最大变焦倍数

enableCameraAdaptiveFPS:minFPS:maxFPS:channel:

enableCameraAdaptiveFPS:minFPS:maxFPS:channel:
- (void)enableCameraAdaptiveFPS:(BOOL) enable minFPS:(int) minFPS maxFPS:(int) maxFPS channel:(ZegoPublishChannel) channel;
开启摄像头自适应帧率
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启摄像头自适应帧率。true 表示开启,false 表示关闭。默认关闭。
minFPSint期望的最小帧率,最小值为 3,推荐 15。单位:fps。
maxFPSint期望的最大帧率,推荐 25。单位:fps。
channelZegoPublishChannel推流通道。

详情

开启后,SDK 根据设置的帧率范围匹配摄像头支持的采集帧率范围,在此范围内根据环境亮度动态调整摄像头采集帧率,提升设置的帧率过高时的画面亮度。

  • 业务场景:推流端用户设置的帧率偏高,所处环境光照较低,无法正常显示或识别主体。比如对曝光要求较高的直播场景。
  • 调用时机:创建引擎 [createEngine] 后,摄像头启动前。
  • 相关接口:通过 [setVideoConfig] 可以设置摄像头采集帧率以及编码器编码帧率。
  • 支持版本:2.20.0 及以上。
  • 注意事项:当调用 [setVideoConfig] 设置帧率小于期望帧率最小值时,将使用 [setVideoConfig] 设置的帧率值。由于不同的手机厂商的硬件和算法策略不同,该接口在不同的机型或同一机型的前后摄像头上,效果存在一定差异。

useVideoDevice:

useVideoDevice:
- (void)useVideoDevice:(NSString *) deviceID;
选择使用某个视频设备
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getVideoDeviceList] 获取的某个设备的 ID

详情

只适用于 Windows / macOS / Linux

useVideoDevice:channel:

useVideoDevice:channel:
- (void)useVideoDevice:(NSString *) deviceID channel:(ZegoPublishChannel) channel;
选择使用某个视频设备,支持设置指定推流通道
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceIDNSString *通过 [getVideoDeviceList] 获取的某个设备的 ID
channelZegoPublishChannel推流通道

详情

只适用于 Windows / macOS / Linux

getVideoDeviceList

getVideoDeviceList
- (NSArray<ZegoDeviceInfo *> *)getVideoDeviceList;
获取视频设备列表
Declared in ZegoExpressEngine.h

只适用于 Windows / macOS / Linux

视频设备列表

getDefaultVideoDeviceID

getDefaultVideoDeviceID
- (NSString *)getDefaultVideoDeviceID;
获取默认视频设备 ID
Declared in ZegoExpressEngine.h

只适用于 Windows / macOS / Linux

默认视频设备 ID

startSoundLevelMonitor

startSoundLevelMonitor
- (void)startSoundLevelMonitor;
启动声浪监控。
Declared in ZegoExpressEngine.h

启动监控后可通过 [onCapturedSoundLevelUpdate] 回调接收本地采集音频声浪,以及 [onRemoteSoundLevelUpdate] 回调接收远端拉流音频声浪。开发者可在进入房间之前,调用 [startPreview] 与此函数,并与 [onCapturedSoundLevelUpdate] 结合来判断音频设备是否正常工作。

  • 业务场景:在推拉流过程中,判断麦上的用户谁在说话,并做 UI 展示。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 注意事项: 1. [onCapturedSoundLevelUpdate] 与 [onRemoteSoundLevelUpdate] 回调通知周期为 100 ms。 2. 启动声浪监控后,即使未启动本地音频采集,onCapturedSoundLevelUpdate也会有回调,声浪值为0。

startSoundLevelMonitor:

startSoundLevelMonitor:
- (void)startSoundLevelMonitor:(unsigned int) millisecond;
启动声浪监控,支持设置监听间隔。
Declared in ZegoExpressEngine.h

参数

名称类型描述
millisecondunsigned int声浪的监控时间周期,单位为毫秒,取值范围 [100, 3000]。默认 100 ms。

详情

启动监控后可通过 [onCapturedSoundLevelUpdate] 回调接收本地采集音频声浪,以及 [onRemoteSoundLevelUpdate] 回调接收远端拉流音频声浪。开发者可在进入房间之前,调用 [startPreview] 与此函数,并与 [onCapturedSoundLevelUpdate] 结合来判断音频设备是否正常工作。

  • 业务场景:在推拉流过程中,判断麦上的用户谁在说话,并做 UI 展示。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.15.0 及以上。
  • 注意事项: 1. [onCapturedSoundLevelUpdate] 与 [onRemoteSoundLevelUpdate] 回调通知周期为参数设置的值,若需要使用声浪进阶功能,请使用同名重载函数(参数类型为 ZegoSoundLevelConfig)代替。 2. 启动声浪监控后,即使未启动本地音频采集,onCapturedSoundLevelUpdate也会有回调,声浪值为0。

startSoundLevelMonitorWithConfig::

startSoundLevelMonitorWithConfig::
- (void)startSoundLevelMonitorWithConfig:(ZegoSoundLevelConfig *) config;
启动声浪监控,支持开启进阶功能。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoSoundLevelConfig *启动声浪监控的配置。

详情

启动监控后可通过 [onCapturedSoundLevelUpdate] 回调接收本地采集音频声浪,以及 [onRemoteSoundLevelUpdate] 回调接收远端拉流音频声浪。开发者可在进入房间之前,调用 [startPreview] 与此函数,并与 [onCapturedSoundLevelUpdate] 结合来判断音频设备是否正常工作。

  • 业务场景:在推拉流过程中,判断麦上的用户谁在说话,并做 UI 展示。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:2.10.0 及以上。
  • 注意事项: 1. [onCapturedSoundLevelUpdate] 与 [onRemoteSoundLevelUpdate] 回调通知周期为参数设置的值。 2. 启动声浪监控后,即使未启动本地音频采集,onCapturedSoundLevelUpdate也会有回调,声浪值为0。

stopSoundLevelMonitor

stopSoundLevelMonitor
- (void)stopSoundLevelMonitor;
停止声浪监控。
Declared in ZegoExpressEngine.h

停止监控后将停止回调本地采集以及远端拉流的音频声浪回调。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:可通过 [startSoundLevelMonitor] 启动声浪监控。
  • 支持版本:1.1.0 及以上。

startAudioSpectrumMonitor

startAudioSpectrumMonitor
- (void)startAudioSpectrumMonitor;
启动音频频谱监控。
Declared in ZegoExpressEngine.h

启动监控后可通过 [onCapturedAudioSpectrumUpdate] 回调接收本地采集音频频谱,以及 [onRemoteAudioSpectrumUpdate] 回调接收远端音频声浪。

  • 业务场景:在主播 K 歌场景中,已经推流或拉流的前提下,让主播或观众看到音调与音量变化的动画。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 注意事项:[onCapturedAudioSpectrumUpdate] 与 [onRemoteAudioSpectrumUpdate] 回调通知周期为 100 ms。

startAudioSpectrumMonitor:

startAudioSpectrumMonitor:
- (void)startAudioSpectrumMonitor:(unsigned int) millisecond;
启动音频频谱监控,支持设置监听间隔。
Declared in ZegoExpressEngine.h

参数

名称类型描述
millisecondunsigned int音频频谱的监控时间周期,单位为毫秒,最小值为 10。默认 500 ms。

详情

启动监控后可通过 [onCapturedAudioSpectrumUpdate] 回调接收本地采集音频频谱,以及 [onRemoteAudioSpectrumUpdate] 回调接收远端音频声浪。

  • 业务场景:在主播 K 歌场景中,已经推流或拉流的前提下,让主播或观众看到音调与音量变化的动画。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.15.0 及以上。
  • 注意事项:[onCapturedAudioSpectrumUpdate] 与 [onRemoteAudioSpectrumUpdate] 回调通知周期为参数设置的值。

stopAudioSpectrumMonitor

stopAudioSpectrumMonitor
- (void)stopAudioSpectrumMonitor;
停止音频频谱监控。
Declared in ZegoExpressEngine.h

停止监控后将停止回调本地采集以及远端拉流的音频频谱回调。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:可通过 [startAudioSpectrumMonitor] 启动音频频谱监控。
  • 支持版本:1.1.0 及以上。

enableHeadphoneMonitor:

enableHeadphoneMonitor:
- (void)enableHeadphoneMonitor:(BOOL) enable;
开启/关闭 耳返。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOLtrue: 开启耳返, false: 关闭耳返。

详情

开启耳返,用户使用麦克风采集声音时会听到自己的声音。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 默认值:关闭。
  • 支持版本:1.9.0 及以上。
  • 注意事项: 1. 同时连接耳机和麦克风时该设置才实际生效。 2. 耳返默认是在采集之后、前处理之前返回,如果需要在前处理之后返回请咨询 ZEGO 技术支持。

setHeadphoneMonitorVolume:

setHeadphoneMonitorVolume:
- (void)setHeadphoneMonitorVolume:(int) volume;
设置耳返音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint采集耳返音量大小,取值 [0, 200],默认 60。

详情

设置耳返音量。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:可通过 [enableHeadphoneMonitor] 开关耳返。
  • 支持版本:1.9.0 及以上。
  • 注意事项:同时连接耳机和麦克风时该设置才实际生效。

enableMixSystemPlayout:

enableMixSystemPlayout:
- (void)enableMixSystemPlayout:(BOOL) enable;
开启/关闭系统声卡采集。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOLtrue: 开启声卡采集, false: 关闭声卡采集

详情

开启声卡采集,将系统播放的声音混入推流中,如浏览器播放的声音、第三方播放器软件播放的声音等。

  • 默认值:默认关闭。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关接口:[setMixSystemPlayoutVolume] 设置系统声卡采集的音量。
  • 平台差异:仅支持 Windows、macOS。
  • 支持版本:1.9.0 及以上。
  • 使用限制:无。
  • 注意事项:系统声卡声音不包含拉流声音、媒体播放器声音和音效播放器声音。

setMixSystemPlayoutVolume:

setMixSystemPlayoutVolume:
- (void)setMixSystemPlayoutVolume:(int) volume;
设置系统声卡采集的音量。
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint声卡采集音量。有效范围 [0, 200],默认为 100。

详情

只适用于 macOS

enableMixEnginePlayout:

enableMixEnginePlayout:
- (void)enableMixEnginePlayout:(BOOL) enable;
是否将 SDK 播放的声音混到推流中。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOLtrue: 开启, false: 关闭

详情

开启后将 SDK 播放的声音混入推流中。

  • 业务场景:用户需要将 SDK 播放的声音混入推流中,例如直播上课场景时,老师与学生连麦,老师可以将拉流声音混入推流中。
  • 默认值:默认关闭。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

startAudioVADStableStateMonitor:

startAudioVADStableStateMonitor:
- (void)startAudioVADStableStateMonitor:(ZegoAudioVADStableStateMonitorType) type;
开始语音的稳态检测。
Declared in ZegoExpressEngine.h

参数

名称类型描述
typeZegoAudioVADStableStateMonitorType语音检测器类型。

详情

启动监控后可通过 [onAudioVADStateUpdate] 回调接收指定类型的音频语音检测回调。

  • 业务场景:例如指定采集后类型而且使用麦克风采集时,就可以通过这个接口检测主播是否有持续稳定的语音输入。
  • 调用时机:开发者可在推流之前,调用 [startPreview] 与此函数,并与 [onAudioVADStateUpdate] 结合来判断音频设备是否正常工作。
  • 相关接口:[stopAudioVADStableStateMonitor]
  • 支持版本:2.14.0 及以上。
  • 使用限制:[onAudioVADStateUpdate] 回调通知周期 3 秒。

startAudioVADStableStateMonitor:millisecond:

startAudioVADStableStateMonitor:millisecond:
- (void)startAudioVADStableStateMonitor:(ZegoAudioVADStableStateMonitorType) type millisecond:(int) millisecond;
开始语音的稳态检测,可设置检测周期。
Declared in ZegoExpressEngine.h

参数

名称类型描述
typeZegoAudioVADStableStateMonitorType语音检测器类型。
millisecondint检测周期 默认值 3000,有效值 [200, 10000]

详情

启动监控后可通过 [onAudioVADStateUpdate] 回调接收指定类型的音频语音检测回调。

  • 业务场景:例如指定采集后类型而且使用麦克风采集时,就可以通过这个接口检测主播是否有持续稳定的语音输入。
  • 调用时机:开发者可在推流之前,调用 [startPreview] 与此函数,并与 [onAudioVADStateUpdate] 结合来判断音频设备是否正常工作。
  • 相关接口:[stopAudioVADStableStateMonitor]
  • 支持版本:2.17.0 及以上。
  • 使用限制:无。

stopAudioVADStableStateMonitor:

stopAudioVADStableStateMonitor:
- (void)stopAudioVADStableStateMonitor:(ZegoAudioVADStableStateMonitorType) type;
停止语音的稳态检测。
Declared in ZegoExpressEngine.h

参数

名称类型描述
typeZegoAudioVADStableStateMonitorType语音检测器类型。

详情

调用该接口后不再能接收到指定类型的 [onAudioVADStateUpdate] 回调。

  • 调用时机:无。
  • 相关接口:[startAudioVADStableStateMonitor]
  • 支持版本:2.14.0 及以上。
  • 使用限制:无。

getCurrentAudioDevice:

getCurrentAudioDevice:
- (ZegoDeviceInfo *)getCurrentAudioDevice:(ZegoAudioDeviceType) deviceType;
获取当前使用的音频设备信息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型。是否必填:是。

详情

获取当前使用的音频设备信息。

  • 业务场景:用于需要手动在多个音频设备间切换的场景。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关接口:可通过 [getDefaultAudioDeviceID] 获取默认音频设备 ID。
  • 支持版本:2.12.0 及以上。
  • 使用限制:仅支持 Windows 和 macOS。

返回值

音频设备信息。

enableAEC:

enableAEC:
- (void)enableAEC:(BOOL) enable;
是否开启回声消除。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启回声消除;true 表示开启;false 表示关闭

详情

打开回声消除, SDK 会对采集到的音频数据进行过滤以降低音频中的回音成分。

  • 业务场景:当需要降低回声以提高通话质量和用户体验时,可以开启此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:开发者可通过 [enableHeadphoneAEC] 以设置当使用耳机时是否也开启回声消除;可通过 [setAECMode] 设置回声消除的模式。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:回声消除功能仅支持处理经过 SDK 播放的声音,例如拉流、媒体播放器、音效播放器等功能播放的声音。未调用此函数前,SDK 内部会自动判断是否需要使用 AEC,一旦调用了此函数则不再自动判断。

enableHeadphoneAEC:

enableHeadphoneAEC:
- (void)enableHeadphoneAEC:(BOOL) enable;
是否在使用耳机时开启回声消除。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启;true 表示开启;false 表示关闭。

详情

当使用 [enableAEC] 开启了回声消除后,对于移动端设备来说只在使用扬声器时开启。如果需要在使用耳机时开启或者关闭回声消除,请调用此函数。

  • 业务场景:当移动端设备连接了一个外置声卡作为音频输出源时,为了消除这种情况下的回声,需要调用此函数开启回声消除。
  • 默认值:Android 默认关闭,iOS 默认开启。
  • 调用时机:需要在 [createEngine] 之后,[startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用。
  • 相关接口:不使用耳机时可通过 [enableAEC] 设置 SDK 是否开启回声消除。
  • 平台差异:仅支持 iOS 和 Android。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:开启回声消除会增加耳返延迟。在 iOS 平台,SDK 内部无法区分耳机跟外置声卡,如果使用此函数关闭使用耳机时的系统回声消除,则在用户接入外部声卡时会采集外部声卡播放的声音,导致回声问题。

setAECMode:

setAECMode:
- (void)setAECMode:(ZegoAECMode) mode;
设置回声消除模式
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoAECMode回声消除模式

详情

当使用 [enableAEC] 开启了回声消除后,可通过此函数切换不同的回声消除模式以控制消除回声数据的程度。

  • 业务场景:当默认的回声消除效果不符合预期时,可通过此函数调整回声消除模式。
  • 默认值:未调用此函数时,默认的回声消除模式为 [Aggressive] 激进模式。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:仅在开启了回声消除功能后此函数设置的值才有效。

enableAGC:

enableAGC:
- (void)enableAGC:(BOOL) enable;
开/关自动增益控制
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启自动增益控制;true 表示开启;false 表示关闭

详情

开启该功能后,SDK 能够自动调节麦克风音量,适应远近拾音,保持音量稳定。

  • 业务场景:当需要保障音量稳定性以提高通话质量和用户体验时,可以开启此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:未调用此函数前,SDK 内部会自动判断是否需要使用 AGC,一旦调用了此函数则不再自动判断。

enableANS:

enableANS:
- (void)enableANS:(BOOL) enable;
开/关噪声抑制
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启噪声抑制;true 表示开启噪声抑制;false 表示关闭噪声抑制

详情

开启该功能后,可以使人声更加清晰。

  • 业务场景:当需要抑制噪声以提高通话质量和用户体验时,可以开启此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:此功能对持续性的噪声(例如下雨声等白噪音)抑制效果较好,如果需要抑制瞬态噪声,请使用 [enableTransientANS];可通过 [setANSMode] 设置噪声抑制的模式。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:未调用此函数前,SDK 内部会自动判断是否需要使用 ANS,一旦调用了此函数则不再自动判断。

enableTransientANS:

enableTransientANS:
- (void)enableTransientANS:(BOOL) enable;
开/关瞬态噪声抑制
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启瞬态噪声抑制;true 表示开启;false 表示关闭

详情

用于抑制敲击键盘、桌子等瞬态噪声。

  • 业务场景:当需要抑制瞬态噪声以提高通话质量和用户体验时,可以开启此功能。
  • 默认值:未调用此函数时,默认不开启瞬态噪声抑制。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:此函数开启后不会抑制常规噪声,如果需要开启常规噪声抑制,请使用 [enableANS]
  • 支持版本:1.17.0 及以上。
  • 使用限制:无。

setANSMode:

setANSMode:
- (void)setANSMode:(ZegoANSMode) mode;
设置音频噪声抑制模式
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoANSMode噪声抑制模式

详情

当使用 [enableANS] 开启了噪声抑制后,可通过此函数切换不同的噪声抑制模式以控制抑制噪声数据的程度。

  • 业务场景:当默认的噪声抑制效果不符合预期时,可通过此函数调整噪声抑制模式。
  • 默认值:未调用此函数时,默认的噪声抑制模式为 [Medium] 中等模式。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:仅在开启了噪声抑制功能后此函数设置的值才有效。

enableSpeechEnhance:level:

enableSpeechEnhance:level:
- (void)enableSpeechEnhance:(BOOL) enable level:(int) level;
开启或关闭人声增强。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启人声增强;true 表示开启;false 表示关闭
levelint增强等级;取值范围在 [0, 10]

详情

开启或关闭人声增强功能。

  • 业务场景:在 KTV 外放场景中,由于 3A 损伤和距离原因,会导致人声较弱或虚或不清晰,需要通过人声增强技术提升外放体验。
  • 默认值:未调用此函数时,此功能默认关闭。
  • 调用时机:需要在 [createEngine] 之后调用,支持动态修改。
  • 支持版本:3.3.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 若重复调用本接口,则使用最后一次调用的设置;
  1. DestroyEngine 后,设置才会失效。

enableAudioMixing:

enableAudioMixing:
- (void)enableAudioMixing:(BOOL) enable;
开/关混音功能
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启混音功能;true 表示开启;false 表示关闭

详情

开启混音功能后,SDK 将把开发者自己准备的音频数据与 SDK 采集的音频数据做混音后再推流出去。

  • 业务场景:当开发者有需要往推流的音频中混入自己的歌曲、音效等音频数据时,可以使用此功能。
  • 默认值:未调用此函数时,此功能默认关闭。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:开启混音后,开发者还需要调用 [setAudioMixingHandler] 设置混音回调,从而能在 [onAudioMixingCopyData] 回调中给 SDK 提供需要混音的音频数据。
  • 支持版本:1.9.0 及以上,即将废弃。建议使用媒体播放器 [createMediaPlayer] 或者音效播放器 [createAudioEffectPlayer] 来实现混音功能。
  • 使用限制:无。
  • 注意事项:开始混音后,SDK 默认会将混音的音频在本地推流端播放出来,如果不希望在本地播放而是仅在远端拉流端播放,请调用 [muteLocalAudioMixing] 设置混音本地静音。推荐使用音效/媒体播放器混音。

setAudioMixingHandler:

setAudioMixingHandler:
- (void)setAudioMixingHandler:(nullable id<ZegoAudioMixingHandler>) handler;
设置混音回调
Declared in ZegoExpressEngine.h

参数

名称类型描述
handlernullable id<ZegoAudioMixingHandler>混音回调

详情

通过 [enableAudioMixing] 开启混音功能后,开发者还需要调用此函数设置混音回调,从而能在 [onAudioMixingCopyData] 回调中给 SDK 提供需要混音的音频数据。

  • 业务场景:当开发者有需要往推流的音频中混入自己的歌曲、音效等音频数据时,可以使用此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.9.0 及以上。
  • 使用限制:无。
  • 注意事项:当再次调用此函数设置回调后,之前设置的混音回调将覆盖。

muteLocalAudioMixing:

muteLocalAudioMixing:
- (void)muteLocalAudioMixing:(BOOL) mute;
静音或恢复本地播放混音声音。
Declared in ZegoExpressEngine.h

参数

名称类型描述
muteBOOL是否静音本地混音;true 表示禁止播放播放;false 表示开启

详情

当调用此函数静音了本地播放混音后,本地混音端(推流端)将听不到通过 [onAudioMixingCopyData] 提供给 SDK 混音的播放声音,而远端(拉流端)依然能听到混音。

  • 业务场景:当开发者有需要往推流的音频中混入自己的歌曲、音效等音频数据时,但混入的音频仅希望给拉流方听见,而不想给本地预览,可以使用此功能。
  • 默认值:未调用此函数时,默认为不静音,即 false。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.9.0 及以上。
  • 使用限制:无。

setAudioMixingVolume:

setAudioMixingVolume:
- (void)setAudioMixingVolume:(int) volume;
设置混音音量(同时设置本地和远端的音量)
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint混音音量,取值范围是 0 ~ 200,默认为 100。

详情

通过 [enableAudioMixing] 开启混音功能后,开发者可通过此函数设置混入 SDK 的混音数据音量大小。

  • 业务场景:当开发者有需要往推流的音频中混入自己的歌曲、音效等音频数据时,并且想调整混音的音量大小时,可以使用此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:如果需要单独设置本地播放或远端播放的混音数据音量,请使用带 type 参数的同名函数。
  • 支持版本:1.9.0 及以上。
  • 使用限制:无。
  • 注意事项:此函数会同时设置本地播放以及远端播放的混音数据音量大小。

setAudioMixingVolume:type:

setAudioMixingVolume:type:
- (void)setAudioMixingVolume:(int) volume type:(ZegoVolumeType) type;
设置混音音量(可分别设置本地、远端的音量)
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint混音音量,取值范围是 0 ~ 200,默认为 100。
typeZegoVolumeType混音本地播放音量/混音推流中的音量

详情

通过 [enableAudioMixing] 开启混音功能后,开发者可通过此函数设置混入 SDK 的混音数据音量大小。

  • 业务场景:当开发者有需要往推流的音频中混入自己的歌曲、音效等音频数据时,并且想调整混音的音量大小时,可以使用此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.9.0 及以上。
  • 使用限制:无。
  • 注意事项:此函数可以单独设置本地播放或者远端播放的混音数据音量大小。

startEffectsEnv

startEffectsEnv
- (void)startEffectsEnv;
开启 Effects 美颜环境。
Declared in ZegoExpressEngine.h

开启 Effects 美颜环境。SDK 内部会使用固定的视频帧数据类型进行传输,Windows 平台只支持视频帧裸数据, Apple 平台只支持 CVPixelBuffer,Android 平台只支持 texture2d。

  • 业务场景:常用于视频通话、直播等场景。
  • 默认值:未调用此函数时,默认不启动美颜环境。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:[enableEffectsBeauty] 开关美颜,[setEffectsBeautyParam] 设置美颜参数。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数只支持 Android 系统 5.0 及以上,Android SDK 版本 21 及以上。
  • 注意事项:此美颜功能为基础功能,如不符合开发者的预期,可使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。

stopEffectsEnv

stopEffectsEnv
- (void)stopEffectsEnv;
关闭 Effects 美颜环境。
Declared in ZegoExpressEngine.h

关闭 Effects 美颜环境。

  • 业务场景:常用于视频通话、直播等场景。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:[enableEffectsBeauty] 开关美颜,[setEffectsBeautyParam] 设置美颜参数。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数只支持 Android 系统 5.0 及以上,Android SDK 版本 21 及以上。
  • 注意事项:此美颜功能为基础功能,如不符合开发者的预期,可使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。

enableEffectsBeauty:

enableEffectsBeauty:
- (void)enableEffectsBeauty:(BOOL) enable;
开启或关闭美颜效果。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启美颜效果,true 开启;false 关闭,默认为 false。

详情

支持基础美颜功能,包括美白、红润、磨皮、锐化。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:必须在调用 [startEffectsEnv] 开启美颜环境后才能调用此函数。
  • 默认值:未调用此函数时,默认不开启美颜效果。
  • 相关接口:可调用 [setEffectsBeautyParam] 函数调整美颜参数。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数如果使用在 Android 平台上只支持 5.0 及以上,SDK 版本 21 及以上。
  • 注意事项:此美颜功能为基础功能,如不符合开发者的预期,可使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。

setEffectsBeautyParam:

setEffectsBeautyParam:
- (void)setEffectsBeautyParam:(ZegoEffectsBeautyParam *) param;
设置美颜效果参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramZegoEffectsBeautyParam *美颜选项参数。

详情

设置美颜参数,包括美白、红润、磨皮、锐化。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:必须在调用 [startEffectsEnv] 开启美颜环境后才能调用此函数。
  • 相关接口:可调用 [enableEffectsBeauty] 开启或关闭美颜效果。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数只支持 Android 系统 5.0 及以上,Android SDK 版本 21 及以上。

setAudioEqualizerGain:bandGain:

setAudioEqualizerGain:bandGain:
- (void)setAudioEqualizerGain:(int) bandIndex bandGain:(float) bandGain;
设置音效均衡器(EQ)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
bandIndexint频谱子带索引,取值范围 [0, 9],分别对应 10 个频带,中心频率分别是 [31, 62, 125, 250, 500, 1K, 2K, 4K, 8K, 16K] Hz。
bandGainfloat指定频带的增益值,取值范围 [-15, 15],默认值为 0,如果所有频带的增益值全部为 0,即关闭 EQ 功能。

详情

可通过调用本函数设置音效均衡器调整音色。

  • 业务场景:通常用于语聊房、KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:1.12.0 及以上。
  • 使用限制:无。

setVoiceChangerPreset:

setVoiceChangerPreset:
- (void)setVoiceChangerPreset:(ZegoVoiceChangerPreset) preset;
通过预设枚举设置变声。
Declared in ZegoExpressEngine.h

参数

名称类型描述
presetZegoVoiceChangerPreset变声预设枚举。

详情

可通过调用本函数设置预设变声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口: 如需自定义变声效果,可使用 [setVoiceChangerParam]。 本函数与 [setReverbPreset] 同时使用效果可能和预期有差异,如需同时使用,建议先开启变声,再开启混响。 使用机器人或空灵预设变声效果时,会修改混响或混响回声参数。因此,在使用上述预设变声效果后调用 [setVoiceChangerParam], [setReverbAdvancedParam], [setReverbEchoParam] 等函数可能影响变声效果。 如需自定义混响/回声/变声/电音效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam], [setElectronicEffects] 四个函数组合配置使用。
  • 支持版本:1.17.0 及以上。

setVoiceChangerParam:

setVoiceChangerParam:
- (void)setVoiceChangerParam:(ZegoVoiceChangerParam *) param;
设置变声的具体参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramZegoVoiceChangerParam *变声参数。

详情

可通过调用本函数设置自定义变声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口: 如需使用常见的变声效果,可使用 [setVoiceChangerPreset] 函数。 如需自定义混响/回声/变声效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合配置使用。
  • 支持版本:1.10.0 及以上。

setReverbPreset:

setReverbPreset:
- (void)setReverbPreset:(ZegoReverbPreset) preset;
通过预设枚举设置混响。
Declared in ZegoExpressEngine.h

参数

名称类型描述
presetZegoReverbPreset混响预设枚举。

详情

可通过调用本函数设置预设混响效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。支持推流过程中调用本函数动态设置混响效果。
  • 相关接口: 如需自定义混响效果,请使用 [setReverbAdvancedParam]。 本函数与 [setVoiceChangerPreset] 同时使用效果可能和预期有差异,如需同时使用,建议先开启变声,再开启混响。 如需自定义混响/回声/变声效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合配置使用。
  • 支持版本:1.17.0 及以上。

setReverbAdvancedParam:

setReverbAdvancedParam:
- (void)setReverbAdvancedParam:(ZegoReverbAdvancedParam *) param;
设置混响的具体参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramZegoReverbAdvancedParam *混响高级参数。

详情

可通过调用本函数设置自定义混响效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口: 如需使用常见的混响效果,可使用 [setReverbPreset] 函数。 如需自定义混响/回声/变声效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合配置使用。
  • 支持版本:1.10.0 及以上。
  • 注意事项:推流过程中动态设置不同的值都会生效,当全部参数都设置成 0 时,混响关闭。

setReverbEchoParam:

setReverbEchoParam:
- (void)setReverbEchoParam:(ZegoReverbEchoParam *) param;
设置混响回声效果的具体参数。
Declared in ZegoExpressEngine.h

参数

名称类型描述
paramZegoReverbEchoParam *混响回声效果参数。

详情

可通过调用本函数设置混响回声效果。可搭配变声、混响以实现自定义各式各样的声音效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口:如需自行配置混响/回声/变声效果请通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合使用。
  • 支持版本:1.17.0 及以上。

enableVirtualStereo:angle:

enableVirtualStereo:angle:
- (void)enableVirtualStereo:(BOOL) enable angle:(int) angle;
开启或关闭推流时的虚拟立体声效果。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOLtrue 代表开启虚拟立体声,false 代表关闭虚拟立体声。
angleint虚拟立体声中声源的角度,范围为 -1 ~ 360,90 为正前方,0 / 180 / 270 分别对应最右边 / 最左边 / 正后方;特别的,设置 -1 时为全方位虚拟立体声效果。

详情

可通过调用本函数开启/关闭推流时的虚拟立体声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:1.10.0 及以上;注意:从 2.15.0 版本开始,角度参数支持设置 -1 以呈现全方位虚拟立体声效果。
  • 注意事项:需要调用 [setAudioConfig] 设置双声道后虚拟立体声才能生效。

enablePlayStreamVirtualStereo:angle:streamID:

enablePlayStreamVirtualStereo:angle:streamID:
- (void)enablePlayStreamVirtualStereo:(BOOL) enable angle:(int) angle streamID:(NSString *) streamID;
开启或关闭拉流时的虚拟立体声效果。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOLtrue 代表开启虚拟立体声,false 代表关闭虚拟立体声。
angleint虚拟立体声中声源的角度,范围为 0 ~ 360,90 为正前方,0 / 180 / 270 分别对应最右边 / 最左边 / 正后方。
streamIDNSString *流 ID。

详情

可通过调用本函数开启/关闭拉流时的虚拟立体声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:2.8.0 及以上。
  • 注意事项:在拉流之前和之后可以动态切换和设置角度参数。停止拉流后,虚拟立体声会自动重置和关闭。

setElectronicEffects:mode:tonal:

setElectronicEffects:mode:tonal:
- (void)setElectronicEffects:(BOOL) enable mode:(ZegoElectronicEffectsMode) mode tonal:(int) tonal;
开启或关闭电音效果。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOLtrue 代表开启电音效果,false 代表关闭电音效果。
modeZegoElectronicEffectsMode电音参考的调式。
tonalint电音在某个调式下的起始音高,代表声音一个八度的12个半音,取值范围 [0, 11]。

详情

可通过调用本函数开启/关闭电音效果。

  • 业务场景:通常用于直播、语聊房和清唱场景。
  • 默认值:未调用此接口时,默认关闭电音效果。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口:可通过 [setVoiceChangerPreset] 设置常见电音配置。
  • 支持版本:2.13.0 及以上。
  • 使用限制:无。
  • 注意事项:当 mode 参数为和声小调时,tonal 参数不生效。

enableColorEnhancement:params:channel:

enableColorEnhancement:params:channel:
- (void)enableColorEnhancement:(BOOL) enable params:(ZegoColorEnhancementParams *) params channel:(ZegoPublishChannel) channel;
开启色彩增强。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启;true 表示开启;false 表示关闭。
paramsZegoColorEnhancementParams *色彩增强参数。
channelZegoPublishChannel推流通道。

详情

可通过调用本函数开启/关闭色彩增强。

  • 业务场景:常用于视频通话、直播等场景。
  • 默认值:未调用此接口时,默认关闭色彩增强。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:3.11.0 及以上。

createRealTimeSequentialDataManager:

createRealTimeSequentialDataManager:
- (nullable ZegoRealTimeSequentialDataManager *)createRealTimeSequentialDataManager:(NSString *) roomID;
创建实时有序数据管理器对象
Declared in ZegoExpressEngine.h

参数

名称类型描述
roomIDNSString *填写已经登录过的房间 ID,后续所有实时有序数据业务都将在此房间中开展。

详情

创建一个用于发送/接受实时有序数据的管理器对象。

  • 业务场景:需要使用实时有序数据以实现诸如云游戏、远程桌面等业务时可以使用此功能。
  • 调用时机:登录房间 [loginRoom] 之后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:能且仅能为每个已 [loginRoom] 的房间 ID 创建一个对应的管理器对象,即在单房间模式下仅能创建一个对象,多房间模式下可创建多个对象。
  • 注意事项:无。

返回值

实时有序数据管理器对象,超过最大数量限制后将返回 nil

destroyRealTimeSequentialDataManager:

destroyRealTimeSequentialDataManager:
- (void)destroyRealTimeSequentialDataManager:(ZegoRealTimeSequentialDataManager *) manager;
销毁实时有序数据管理器对象
Declared in ZegoExpressEngine.h

参数

名称类型描述
managerZegoRealTimeSequentialDataManager *需要销毁的实时有序数据管理器对象

详情

销毁 [ZegoRealTimeSequentialDataManager] 实时有序数据管理器对象。

  • 业务场景:不再需要使用实时有序数据功能时,可通过此函数销毁 [createRealTimeSequentialDataManager] 函数创建出来的实例对象。
  • 调用时机:当需要销毁实时有序数据管理器对象时。
  • 支持版本:2.14.0 及以上。
  • 使用限制:销毁后,开发者需要自行释放持有的 [ZegoRealTimeSequentialDataManager] 实例对象,并且销毁后也不要再调用此实例对象的函数。
  • 注意事项:无。

sendBroadcastMessage:roomID:callback:

sendBroadcastMessage:roomID:callback:
- (void)sendBroadcastMessage:(NSString *) message roomID:(NSString *) roomID callback:(nullable ZegoIMSendBroadcastMessageCallback) callback;
发送房间广播消息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
messageNSString *消息内容。是否必填:是。取值范围:长度不超过 1024 字节。
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
callbacknullable ZegoIMSendBroadcastMessageCallback发送广播消息结果通知。是否必填:否。注意事项:传 [nil] 则意味着不接收回调通知。

详情

向房间发送广播消息,已经登录相同房间的用户能收到消息,消息可靠。

  • 业务场景:一般在直播房间内使用。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:可通过 [onIMRecvBroadcastMessage] 接收到房间广播消息。
  • 相关接口:可通过 [sendBarrageMessage] 函数发送弹幕消息,可通过 [sendCustomCommand] 函数发送自定义信令。
  • 支持版本:1.2.1 及以上。
  • 使用限制:同一房间内的广播消息发送频率不能高于 10条/s。单个用户在客户端调用此接口的最大QPS为2,关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。

sendBarrageMessage:roomID:callback:

sendBarrageMessage:roomID:callback:
- (void)sendBarrageMessage:(NSString *) message roomID:(NSString *) roomID callback:(nullable ZegoIMSendBarrageMessageCallback) callback;
发送房间弹幕消息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
messageNSString *消息内容。是否必填:是。取值范围:长度不超过 1024 字节。
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
callbacknullable ZegoIMSendBarrageMessageCallback发送弹幕消息结果通知。是否必填:否。注意事项:传 [nil] 则意味着不接收回调通知。

详情

向房间发送弹幕消息,已经登录相同房间的用户能收到消息,消息不可靠。

  • 业务场景:一般用于房间内有大量消息收发,且不需要保证消息可靠性的场景,例如直播弹幕。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:可通过 [onIMRecvBarrageMessage] 接收到房间弹幕消息。
  • 相关接口:可通过 [sendBroadcastMessage] 函数发送广播消息,可通过 [sendCustomCommand] 函数发送自定义信令。
  • 支持版本:1.5.0 及以上。
  • 使用限制:同一房间内的弹幕消息发送频率不能高于 20条/s。关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。

sendCustomCommand:toUserList:roomID:callback:

sendCustomCommand:toUserList:roomID:callback:
- (void)sendCustomCommand:(NSString *) command toUserList:(nullable NSArray<ZegoUser *> *) toUserList roomID:(NSString *) roomID callback:(nullable ZegoIMSendCustomCommandCallback) callback;
发送自定义信令。
Declared in ZegoExpressEngine.h

参数

名称类型描述
commandNSString *自定义信令内容。是否必填:是。取值范围:最大长度为 1024 字节。注意事项:为保护隐私,请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
toUserListnullable NSArray<ZegoUser *> *信令的接收者列表。是否必填:是。取值范围:用户列表或者 [nil]。注意事项:为 [nil] 时 SDK 回向房间内所有用户发送自定义信令。
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
callbacknullable ZegoIMSendCustomCommandCallback发送信令结果通知。是否必填:否。注意事项:传 [nil] 则意味着不接收回调通知。

详情

向已经登录相同房间的其他用户发送点对点的信令,消息可靠。

  • 业务场景:一般用于远程控制信令或用户与用户之间的消息发送。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:可通过 [onIMRecvCustomCommand] 接收到房间自定义信令。
  • 相关接口:可通过 [sendBroadcastMessage] 函数发送广播消息,可通过 [sendBarrageMessage] 函数发送弹幕消息。
  • 隐私保护声明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 支持版本:1.2.1 及以上。
  • 使用限制:同一房间内向单个用户发送的自定义消息频率不能高于 200条/s,向多个用户发送的自定义消息不能高于 10条/s。关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。

sendTransparentMessage:roomID:callback:

sendTransparentMessage:roomID:callback:
- (void)sendTransparentMessage:(ZegoRoomSendTransparentMessage*) message roomID:(NSString *) roomID callback:(nullable ZegoRoomSendTransparentMessageCallback) callback;
发送透传消息。
Declared in ZegoExpressEngine.h

参数

名称类型描述
messageZegoRoomSendTransparentMessage*发送透传消息的结构信息。
roomIDNSString *房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
callbacknullable ZegoRoomSendTransparentMessageCallback发送信令结果通知。是否必填:否。注意事项:传 [nil] 则意味着不接收回调通知。

详情

向房间内发送透传消息。

  • 业务场景:一般用于远程控制信令或用户与用户之间的消息发送。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:当发送的消息, mode 指定为 ZegoRoomTransparentMessageModeOnlyClient 或者 ZegoRoomTransparentMessageModeClientAndServer 可通过 [onRecvRoomTransparentMessage] 接收到发送消息的内容。
  • 隐私保护声明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 支持版本:3.11.0 及以上。
  • 使用限制:同一房间内向单个用户发送的自定义消息频率不能高于 200条/s 。

createMediaPlayer

createMediaPlayer
- (nullable ZegoMediaPlayer *)createMediaPlayer;
创建媒体播放器实例对象。
Declared in ZegoExpressEngine.h

创建媒体播放器实例对象。

  • 业务场景:常用于播放媒体资源场景,例如播放视频文件,结合自定义视频采集将媒体资源的视频数据推送出去,远端可拉流观看。
  • 调用时机:在初始化 SDK [createEngine] 之后。
  • 相关接口:用户可以调用 [destroyMediaPlayer] 销毁媒体播放器实例对象。
  • 支持版本:2.1.0 及以上。
  • 使用限制:目前最多支持创建 4 个实例,超过后将返回 nil。
  • 注意事项:媒体播放器的实例越多,对设备的性能开销越大。

媒体播放器实例,超过最大数量限制后将返回 nil。

destroyMediaPlayer:

destroyMediaPlayer:
- (void)destroyMediaPlayer:(ZegoMediaPlayer *) mediaPlayer;
销毁媒体播放器实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
mediaPlayerZegoMediaPlayer *媒体播放器实例对象。

详情

销毁媒体播放器实例对象。

  • 相关接口:用户可以调用 [createMediaPlayer] 创建媒体播放器实例对象。
  • 支持版本:2.1.0 及以上。

createAudioEffectPlayer

createAudioEffectPlayer
- (nullable ZegoAudioEffectPlayer *)createAudioEffectPlayer;
创建音效播放器实例对象。
Declared in ZegoExpressEngine.h

创建音效播放器实例对象。

  • 业务场景:当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用音效播放器来实现。
  • 调用时机:在 [createEngine] 之后可调用。
  • 相关接口:[destroyAudioEffectPlayer]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:目前最多支持创建 1 个实例,超过后将返回 nil。

音效播放器实例,超过最大数量限制后将返回 nil。

destroyAudioEffectPlayer:

destroyAudioEffectPlayer:
- (void)destroyAudioEffectPlayer:(ZegoAudioEffectPlayer *) audioEffectPlayer;
销毁音效播放器实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
audioEffectPlayerZegoAudioEffectPlayer *音效播放器实例对象。

详情

销毁指定的音效播放器实例对象。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 相关接口:[createAudioEffectPlayer]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

createMediaDataPublisher:

createMediaDataPublisher:
- (nullable ZegoMediaDataPublisher *)createMediaDataPublisher:(ZegoMediaDataPublisherConfig *) config;
创建媒体数据推流器实例对象
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoMediaDataPublisherConfig *配置媒体数据推流器。

详情

开发者可以使用此接口创建 ZegoMediaDataPublisher 对象,来推本地的媒体资源文件,以实现服务器端推流的场景,例如 AI 课堂。

  • 业务场景:常用于服务器端推流的场景,例如 AI 课堂。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 支持版本:3.4.0 及以上。
  • 注意事项:该接口返回指定推流通道的实例对象。如果已经创建了,会返回已创建的实例对象。

返回值

媒体数据推流器实例。

destroyMediaDataPublisher:

destroyMediaDataPublisher:
- (void)destroyMediaDataPublisher:(ZegoMediaDataPublisher *) mediaDataPublisher;
销毁媒体数据推流器实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
mediaDataPublisherZegoMediaDataPublisher *媒体数据推流器实例对象

详情

销毁媒体数据推流器实例对象。

  • 业务场景:常用于服务器端推流的场景,例如 AI 课堂。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 支持版本:2.17.0 及以上。

startRecordingCapturedData:channel:

startRecordingCapturedData:channel:
- (void)startRecordingCapturedData:(ZegoDataRecordConfig *) config channel:(ZegoPublishChannel) channel;
开始本地录制,直接将音视频数据录制到本地文件。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoDataRecordConfig *录制配置对象。
channelZegoPublishChannel推流通道。

详情

开始录制本端音频或音视频,直接将音视频数据录制到本地文件,录制的数据将与该通道推流的数据一致。

  • 相关回调:开始录制后将会收到 [onCapturedDataRecordStateUpdate] 录制状态回调和 [onCapturedDataRecordProgressUpdate] 录制进度回调。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。
  • 注意事项:录制过程中不可以停止预览 [stopPreview] 或停止推流 [stopPublishingStream],否则 SDK 将主动结束当前录制任务。媒体播放器的数据需要混入到推流中才能录制。

stopRecordingCapturedData:

stopRecordingCapturedData:
- (void)stopRecordingCapturedData:(ZegoPublishChannel) channel;
结束录制本端音频或音视频。
Declared in ZegoExpressEngine.h

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

结束录制本端音频或音视频。

  • 调用时机:在 [startRecordingCapturedData] 之后。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

setDataRecordEventHandler:

setDataRecordEventHandler:
- (void)setDataRecordEventHandler:(nullable id<ZegoDataRecordEventHandler>) eventHandler;
设置数据录制事件回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
eventHandlernullable id<ZegoDataRecordEventHandler>数据录制事件回调。

详情

实现 ZegoDataRecordEventHandler 中的函数,以获取当前录制的状态和录制进度等。

  • 调用时机:在 [createEngine] 后。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

startPerformanceMonitor:

startPerformanceMonitor:
- (void)startPerformanceMonitor:(unsigned int) millisecond;
启动系统性能监控。
Declared in ZegoExpressEngine.h

参数

名称类型描述
millisecondunsigned int监控时间周期。 单位为毫秒。取值范围为 [1000, 10000]。默认值为 2000 ms。

详情

启动系统性能监控,检测系统和应用的 CPU 使用率、内存使用率。支持设置监听时间间隔。

  • 业务场景:通过监控系统性能,协助用户快速定位、解决性能问题,提升用户体验。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关回调:启动系统性能监控后,可通过 [onPerformanceStatusUpdate] 接收系统性能状态回调。[onPerformanceStatusUpdate] 回调通知周期为 millisecond 参数设置的值。
  • 相关接口:可通过 [stopPerformanceMonitor] 停止系统性能监控。
  • 支持版本:1.19.0 及以上。
  • 使用限制:无。

stopPerformanceMonitor

stopPerformanceMonitor
- (void)stopPerformanceMonitor;
停止系统性能监控。
Declared in ZegoExpressEngine.h

停止系统性能监控。停止系统性能监控后,将停止触发 [onPerformanceStatusUpdate] 回调。

  • 业务场景:通过监控系统性能,协助用户快速定位、解决性能问题,提升用户体验。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:可通过 [startPerformanceMonitor] 启动系统性能监控。
  • 支持版本:1.19.0 及以上。
  • 使用限制:无。

startNetworkProbe:callback:

startNetworkProbe:callback:
- (void)startNetworkProbe:(ZegoNetworkProbeConfig *) config callback:(nullable ZegoNetworkProbeResultCallback) callback;
启动网络探测。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoNetworkProbeConfig *网络探测配置。
callbacknullable ZegoNetworkProbeResultCallback网络探测结果回调。

详情

本地网络的一些问题可能会导致音视频通话失败。通过调用本函数可以探测当前各网络协议层是否正常,协助定位和解决相关的网络问题。

  • 业务场景:在推拉流之前,可通过网络探测定位一些可能存在的网络问题。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:可通过 [stopNetworkProbe] 停止网络探测。
  • 支持版本:2.3.0 及以上。
  • 使用限制:SDK 在同一时刻不会进行多个网络探测,即若存在进行中的网络探测时,重复调用本函数将不生效。
  • 注意事项:SDK 内部依次探测 http、tcp、udp。如果中途探测失败,将不会继续后续探测。因此读取探测结果中的各项值时,需注意判空。一次网络探测可能耗时比较长,开发者可按需调用 [stopNetworkProbe] 来停止网络探测。不建议在推拉流过程中启动网络探测。

stopNetworkProbe

stopNetworkProbe
- (void)stopNetworkProbe;
停止网络探测。
Declared in ZegoExpressEngine.h

停止网络探测。

  • 业务场景:在推拉流之前,可通过网络探测定位一些可能存在的网络问题。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:可通过 [startNetworkProbe] 启动网络探测。
  • 支持版本:2.3.0 及以上。
  • 使用限制:无。

testNetworkConnectivity:

testNetworkConnectivity:
- (void)testNetworkConnectivity:(ZegoTestNetworkConnectivityCallback) callback;
测试网络连通性
Declared in ZegoExpressEngine.h

参数

名称类型描述
callbackZegoTestNetworkConnectivityCallback网络连通性测试结果通知

详情

测试网络连通性。

startNetworkSpeedTest:

startNetworkSpeedTest:
- (void)startNetworkSpeedTest:(ZegoNetworkSpeedTestConfig *) config;
启动网络测速。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoNetworkSpeedTestConfig *网络测速配置。

详情

网络连通状态下的上行/下行网络测速。

  • 业务场景:用于检测当前网络环境是否适合推/拉指定码率的流。
  • 调用时机:需要在 [loginRoom] 后调用。若在测速中途开始推流/拉流,则测速会自动停止。
  • 相关接口:可通过 [stopNetworkSpeedTest] 停止网络测速。
  • 支持版本:1.20.0 及以上。
  • 使用限制:单次网络测速默认最大允许测试时间为30秒。
  • 注意事项:可监听 [onNetworkSpeedTestQualityUpdate] 回调来获取测速结果,每 3 秒回调一次结果。若测速过程中发生异常,将会触发 [onNetworkSpeedTestError] 回调。若重复多次调用本函数,将以最后一次调用的测速配置为准。

startNetworkSpeedTest:interval:

startNetworkSpeedTest:interval:
- (void)startNetworkSpeedTest:(ZegoNetworkSpeedTestConfig *) config interval:(unsigned int) interval;
启动网络测速,支持设置测速周期。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoNetworkSpeedTestConfig *网络测速度配置。
intervalunsigned int网络测速周期。单位为毫秒,默认为 3000 ms。

详情

网络连通状态下的上行/下行网络测速。

  • 业务场景:用于检测当前网络环境是否适合推/拉指定码率的流。
  • 调用时机:需要在 [loginRoom] 后调用。若在测速中途开始推流/拉流,则测速会自动停止。
  • 相关接口:可通过 [stopNetworkSpeedTest] 停止网络测速。
  • 支持版本:1.20.0 及以上。
  • 使用限制:单次网络测速默认最大允许测试时间为30秒。
  • 注意事项:可监听 [onNetworkSpeedTestQualityUpdate] 回调来获取测速结果,每 3 秒回调一次结果。若测速过程中发生异常,将会触发 [onNetworkSpeedTestError] 回调。若重复多次调用本函数,将以最后一次调用的测速配置为准。

stopNetworkSpeedTest

stopNetworkSpeedTest
- (void)stopNetworkSpeedTest;
停止网络测速。
Declared in ZegoExpressEngine.h

停止网络测速。

  • 业务场景:用于检测当前网络环境是否适合推/拉指定码率的流。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:可通过 [startNetworkSpeedTest] 启动网络测速。
  • 支持版本:1.20.0 及以上。
  • 使用限制:无。
  • 注意事项:停止网络测速后,将不再触发 [onNetworkSpeedTestQualityUpdate] 回调。

getNetworkTimeInfo

getNetworkTimeInfo
- (ZegoNetworkTimeInfo *)getNetworkTimeInfo;
获取同步网络时间信息。
Declared in ZegoExpressEngine.h

获取当前网络时间(NTP),包括当前网络时间的时间戳和最大误差。

  • 业务场景:在进行多端行为同步时,需要获取同步网络时间对当前时间进行校准。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:2.9.0 及以上。
  • 使用限制:无。

startDumpData:

startDumpData:
- (void)startDumpData:(ZegoDumpDataConfig *) config;
转储音视频数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoDumpDataConfig *转储数据配置

详情

转储音视频数据,目前仅支持音频数据。

  • 业务场景:这是调试工具。当推流时发现音频采集,3A处理,或者其他环境的处理有问题时,可以通过转储音频数据并上传到 ZEGO 服务端做一步分析。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:可通过 [stopDumpData] 结束。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无
  • 注意事项:开始转储数据后,会触发 [onStartDumpData] 回调。

stopDumpData

stopDumpData
- (void)stopDumpData;
停止转储数据
Declared in ZegoExpressEngine.h

停止转储数据。

  • 业务场景:这是调试工具。当推流时发现音频采集,3A处理,或者其他环境的处理有问题时,可以通过转储音频数据并上传到 ZEGO 服务端做一步分析。
  • 调用时机:需要在 [startDumpData] 之后调用。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无
  • 注意事项:会触发 [onStopDumpData] 回调。

uploadDumpData

uploadDumpData
- (void)uploadDumpData;
上传转储数据到 ZEGO 服务端
Declared in ZegoExpressEngine.h

上传转储数据到 ZEGO 服务端。

  • 业务场景:这是调试工具。当推流时发现音频采集,3A处理,或者其他环境的处理有问题时,可以通过转储音频数据并上传到 ZEGO 服务端做一步分析。
  • 调用时机:需要在 [stopDumpData] 之后调用。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无
  • 注意事项:上传转储数据后,会触发 [onUploadDumpData] 回调。

removeDumpData

removeDumpData
- (void)removeDumpData;
删除转储数据。
Declared in ZegoExpressEngine.h

删除转储数据。

  • 业务场景:这是调试工具。当推流时发现音频采集,3A处理,或者其他环境的处理有问题时,可以通过转储音频数据并上传到 ZEGO 服务端做一步分析。
  • 调用时机:需要在 [stopDumpData] 之后调用。如果转储数据要上传到 ZEGO 服务端,那应该在上传成功后再删除。
  • 支持版本:3.10.0 及以上。
  • 使用限制:无

enableCustomVideoRender:config:

enableCustomVideoRender:config:
- (void)enableCustomVideoRender:(BOOL) enable config:(nullable ZegoCustomVideoRenderConfig *) config;
开始或停止自定义视频渲染。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启
confignullable ZegoCustomVideoRenderConfig *自定义渲染配置

详情

enable 为 "true" 时开启视频自定义渲染,为 "false" 时关闭视频自定义渲染。

  • 业务场景:使用美颜功能或 App 使用了跨平台界面框架(例如 Qt 需要有复杂层级关系的界面以实现高体验的交互)或游戏引擎(例如 Unity, Unreal Engine, Cocos)等。
  • 默认值:没有调用该函数时,默认关闭自定义视频渲染。
  • 调用时机:[createEngine]之后,调用 [startPreview]、[startPublishingStream]、[startPlayingStream]、[createRealTimeSequentialDataManager] 之前设置,且调用 [logoutRoom] 之后才能修改配置。
  • 相关回调:调用 [setCustomVideoRenderHandler] 可设置回调用于获取视频帧数据。[onCapturedVideoFrameRawData] 本地预览视频帧数据回调,[onRemoteVideoFrameRawData] 远端拉流视频帧数据回调。
  • 支持版本:1.9.0 及以上。
  • 注意事项:自定义视频渲染功能可以与自定义视频采集功能同时使用,但当两者同时开启时,自定义视频渲染的本地采集帧回调将不会再被触发,开发者应该直接在自定义视频采集源里直接获取采集视频帧。

setCustomVideoRenderHandler:

setCustomVideoRenderHandler:
- (void)setCustomVideoRenderHandler:(nullable id<ZegoCustomVideoRenderHandler>) handler;
设置自定义视频渲染回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
handlernullable id<ZegoCustomVideoRenderHandler>自定义视频渲染回调对象

详情

自定义视频渲染,由开发者负责把视频数据渲染到 UI 组件上。设置该回调后,当开发者调用启动预览 [startPreview]、开始推流 [startPublishingStream]、开始拉流[startPlayingStream] 时会触发向开发者抛视频数据的回调函数。

  • 业务场景:使用美颜功能或 App 使用了跨平台界面框架(例如 Qt 需要有复杂层级关系的界面以实现高体验的交互)或游戏引擎(例如 Unity, Unreal Engine, Cocos)等。
  • 调用时机:[createEngine] 之后。
  • 相关回调:[onCapturedVideoFrameRawData] 本地预览视频帧数据回调,[onRemoteVideoFrameRawData] 远端拉流视频帧数据回调。
  • 支持版本:1.9.0 及以上。

enableCapturedVideoCustomVideoRender:channel:

enableCapturedVideoCustomVideoRender:channel:
- (void)enableCapturedVideoCustomVideoRender:(BOOL) enable channel:(ZegoPublishChannel) channel;
开始或停止采集的视频做自定义视频渲染。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启
channelZegoPublishChannel推流通道

详情

在推流过程中开关采集视频的自定义视频渲染。

  • 业务场景:使用美颜功能或 App 使用了跨平台界面框架(例如 Qt 需要有复杂层级关系的界面以实现高体验的交互)或游戏引擎(例如 Unity, Unreal Engine, Cocos)等。
  • 默认值:在[enableCustomVideoRender]开启自定义视频渲染之后,会将所有采集的视频都做自定义视频数据。
  • 调用时机:在[enableCustomVideoRender]开启自定义视频渲染之后,通过调用[enableCapturedVideoCustomVideoRender]单独配置指定通道是否自定义视频渲染。
  • 相关回调:调用 [setCustomVideoRenderHandler] 可设置回调用于获取视频帧数据。[onCapturedVideoFrameRawData] 本地预览视频帧数据回调,[onRemoteVideoFrameRawData] 远端拉流视频帧数据回调。
  • 支持版本:3.13.0 及以上。
  • 注意事项:必须在[enableCustomVideoRender]开启自定义视频渲染之后才可以调用本接口。自定义视频渲染功能可以与自定义视频采集功能同时使用,但当两者同时开启时,自定义视频渲染的本地采集帧回调将不会再被触发,开发者应该直接在自定义视频采集源里直接获取采集视频帧。

enableRemoteVideoCustomVideoRender:streamID:

enableRemoteVideoCustomVideoRender:streamID:
- (void)enableRemoteVideoCustomVideoRender:(BOOL) enable streamID:(NSString *) streamID;
开始或停止远端拉流的视频做自定义视频渲染。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启
streamIDNSString *拉流的流 ID。

详情

在拉流过程中开关视频的自定义视频渲染。

  • 业务场景:使用美颜功能或 App 使用了跨平台界面框架(例如 Qt 需要有复杂层级关系的界面以实现高体验的交互)或游戏引擎(例如 Unity, Unreal Engine, Cocos)等。
  • 默认值:在[enableCustomVideoRender]开启自定义视频渲染之后,会将所有远端拉流的视频都做自定义视频数据。
  • 调用时机:在[enableCustomVideoRender]开启自定义视频渲染之后,通过调用[enableRemoteVideoCustomVideoRender]单独配置指定流是否自定义视频渲染。
  • 相关回调:调用 [setCustomVideoRenderHandler] 可设置回调用于获取视频帧数据。[onCapturedVideoFrameRawData] 本地预览视频帧数据回调,[onRemoteVideoFrameRawData] 远端拉流视频帧数据回调。
  • 支持版本:3.13.0 及以上。
  • 注意事项:必须在[enableCustomVideoRender]开启自定义视频渲染之后才可以调用本接口。

enableCustomVideoCapture:config:

enableCustomVideoCapture:config:
- (void)enableCustomVideoCapture:(BOOL) enable config:(nullable ZegoCustomVideoCaptureConfig *) config;
开始或停止自定义视频采集。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启
confignullable ZegoCustomVideoCaptureConfig *自定义采集配置

详情

enable 为 "true" 时开启视频自定义采集,为 "false" 时关闭视频自定义采集。

  • 业务场景:开发者开发的 App使用了第三方美颜厂商的美颜 SDK,直播非摄像头采集的数据等。
  • 默认值:没有调用该函数时,默认关闭自定义视频采集。
  • 调用时机:[createEngine] 之后,调用 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前。如果需要修改配置,请先调用 [logoutRoom] 登出房间。
  • 相关回调:当开发者开启自定义采集时,通过调用 [setCustomVideoCaptureHandler] 可设置接收自定义采集启停事件通知。
  • 支持版本:1.9.0 及以上。
  • 注意事项:自定义视频渲染功能可以与自定义视频采集功能同时使用,但当两者同时开启时,自定义视频渲染的本地采集帧回调将不会再被触发,开发者应该直接在自定义视频采集源里直接获取采集视频帧。

enableCustomVideoCapture:config:channel:

enableCustomVideoCapture:config:channel:
- (void)enableCustomVideoCapture:(BOOL) enable config:(nullable ZegoCustomVideoCaptureConfig *) config channel:(ZegoPublishChannel) channel;
开始或停止自定义视频采集,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启
confignullable ZegoCustomVideoCaptureConfig *自定义采集配置
channelZegoPublishChannel推流通道

详情

enable 为 "true" 时开启视频自定义采集,为 "false" 时关闭视频自定义采集。

  • 业务场景:开发者开发的 App使用了第三方美颜厂商的美颜 SDK,直播非摄像头采集的数据等。
  • 默认值:没有调用该函数时,默认关闭自定义视频采集。
  • 调用时机:[createEngine] 之后,调用 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前。如果需要修改配置,请先调用 [logoutRoom] 登出房间。
  • 相关回调:当开发者开启自定义采集时,通过调用 [setCustomVideoCaptureHandler] 可设置接收自定义采集启停事件通知。
  • 支持版本:1.9.0 及以上。
  • 注意事项:自定义视频渲染功能可以与自定义视频采集功能同时使用,但当两者同时开启时,自定义视频渲染的本地采集帧回调将不会再被触发,开发者应该直接在自定义视频采集源里直接获取采集视频帧。

setCustomVideoCaptureHandler:

setCustomVideoCaptureHandler:
- (void)setCustomVideoCaptureHandler:(nullable id<ZegoCustomVideoCaptureHandler>) handler;
设置自定义视频采集回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
handlernullable id<ZegoCustomVideoCaptureHandler>自定义视频采集回调对象

详情

设置自定义视频采集的回调。即由开发者负责采集视频数据,并将采集到的视频数据发送给 SDK 进行视频数据的编码与推送到 ZEGO RTC 服务器。

  • 业务场景:该功能一般为使用第三方美颜功能或游戏录屏直播的开发者使用。
  • 调用时机:[createEngine] 之后。
  • 相关回调:[onStart] 开始采集,[onStop] 停止采集。
  • 支持版本:1.9.0 及以上。
  • 注意事项:由于使用自定义视频采集时,SDK 将不再启动摄像头去采集视频数据,开发者需自行对视频采集源进行视频数据的采集。当开发者调用启动预览 [startPreview]、开始推流 [startPublishingStream] 时会触发通知开发者可以开始发送视频数据的回调函数。当停止预览 [stopPreview] 且 停止推流[stopPublishingStream] 时会触发通知开发者可以停止发送视频数据的回调函数。

sendCustomVideoCaptureTextureData:size:timestamp:

sendCustomVideoCaptureTextureData:size:timestamp:
- (void)sendCustomVideoCaptureTextureData:(GLuint) textureID size:(CGSize) size timestamp:(CMTime) timestamp;
向 SDK 发送自定义采集的视频帧 Texture 数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
textureIDGLuint纹理 ID
sizeCGSize视频帧的画面宽高
timestampCMTime该视频帧的 UNIX 时间戳,单位为毫秒

详情

向SDK发送自定义采集的视频帧类型为Texture的数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 注意事项:调用此接口必须是 [enableCustomVideoCapture] 传递的参数类型为 GL_TEXTURE_2D 或 GL_TEXTURE_EXTERNAL_OES。

sendCustomVideoCaptureTextureData:size:timestamp:channel:

sendCustomVideoCaptureTextureData:size:timestamp:channel:
- (void)sendCustomVideoCaptureTextureData:(GLuint) textureID size:(CGSize) size timestamp:(CMTime) timestamp channel:(ZegoPublishChannel) channel;
向 SDK 发送自定义采集的视频帧 Texture 数据,支持其他路推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
textureIDGLuint纹理 ID
sizeCGSize视频帧的画面宽高
timestampCMTime该视频帧的 UNIX 时间戳,单位为毫秒
channelZegoPublishChannel推流通道

详情

向SDK发送自定义采集的视频帧类型为Texture的数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 注意事项:调用此接口必须是 [enableCustomVideoCapture] 传递的参数类型为 GL_TEXTURE_2D 或 GL_TEXTURE_EXTERNAL_OES。

sendCustomVideoCapturePixelBuffer:timestamp:

sendCustomVideoCapturePixelBuffer:timestamp:
- (void)sendCustomVideoCapturePixelBuffer:(CVPixelBufferRef) buffer timestamp:(CMTime) timestamp;
向 SDK 发送自定义采集的视频帧 CVPixelBuffer 数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
bufferCVPixelBufferRef要向 SDK 发送的视频帧数据
timestampCMTime该视频帧的时间戳

详情

向SDK发送自定义采集的视频帧类型为CVPixelBuffer的数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 注意事项:调用此接口必须是 [enableCustomVideoCapture] 传递的参数类型为ZegoVideoBufferTypeCVPixelBuffer。

sendCustomVideoCapturePixelBuffer:timestamp:channel:

sendCustomVideoCapturePixelBuffer:timestamp:channel:
- (void)sendCustomVideoCapturePixelBuffer:(CVPixelBufferRef) buffer timestamp:(CMTime) timestamp channel:(ZegoPublishChannel) channel;
向 SDK 发送自定义采集的视频帧 CVPixelBuffer 数据,支持其他路推流
Declared in ZegoExpressEngine.h

参数

名称类型描述
bufferCVPixelBufferRef要向 SDK 发送的视频帧数据
timestampCMTime该视频帧的时间戳
channelZegoPublishChannel推流通道

详情

向SDK发送自定义采集的视频帧类型为CVPixelBuffer的数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 注意事项:调用此接口必须是 [enableCustomVideoCapture] 传递的参数类型为ZegoVideoBufferTypeCVPixelBuffer。

sendCustomVideoCaptureEncodedData:params:timestamp:

sendCustomVideoCaptureEncodedData:params:timestamp:
- (void)sendCustomVideoCaptureEncodedData:(NSData *) data params:(ZegoVideoEncodedFrameParam *) params timestamp:(CMTime) timestamp;
给 SDK 发送自定义采集的视频帧编码后的数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataNSData *要向 SDK 发送的视频帧数据
paramsZegoVideoEncodedFrameParam *视频帧的参数
timestampCMTime视频帧的索引时间,UNIX 时间戳

详情

向 SDK 发送自定义采集的视频帧编码后的数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 注意事项:推荐每 2s 一个 GOP,每个 I 帧必须携带 SPS 和 PPS,且放在最前面,并且需要把 SPS 和 PPS 与 I 帧合并到一帧进行发送。调用此接口前需要确保调用 [enableCustomVideoCapture] 时指定的参数类型为 [EncodedData]

sendCustomVideoCaptureEncodedData:params:timestamp:channel:

sendCustomVideoCaptureEncodedData:params:timestamp:channel:
- (void)sendCustomVideoCaptureEncodedData:(NSData *) data params:(ZegoVideoEncodedFrameParam *) params timestamp:(CMTime) timestamp channel:(ZegoPublishChannel) channel;
给 SDK 发送自定义采集的视频帧编码后的数据,支持指定推流通道。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataNSData *要向 SDK 发送的视频帧数据
paramsZegoVideoEncodedFrameParam *视频帧的参数
timestampCMTime视频帧的索引时间,UNIX 时间戳
channelZegoPublishChannel推流通道

详情

向 SDK 发送自定义采集的视频帧编码后的数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 注意事项:推荐每 2s 一个 GOP,每个 I 帧必须携带 SPS 和 PPS,且放在最前面,并且需要把 SPS 和 PPS 与 I 帧合并到一帧进行发送。调用此接口前需要确保调用 [enableCustomVideoCapture] 时指定的参数类型为 [EncodedData]

setCustomVideoCaptureFillMode:

setCustomVideoCaptureFillMode:
- (void)setCustomVideoCaptureFillMode:(ZegoViewMode) mode;
设置自定义视频采集画面缩放填充模式。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoViewMode画面填充缩放模式

详情

当开启自定义视频采集功能时,可使用此接口设置视频画面的缩放填充模式。

  • 业务场景:如自定义采集分辨率、SDK编码分辨率不一致时,SDK将根据填充模式处理视频帧,调整为编码分辨率。
  • 调用时机:调用 [sendCustomVideoCaptureRawData]、[sendCustomVideoCaptureTextureData]、[sendCustomVideoCapturePixelBuffer]、[sendCustomVideoCaptureEncodedData] 之前。
  • 支持版本:1.10.0 及以上。

setCustomVideoCaptureFillMode:channel:

setCustomVideoCaptureFillMode:channel:
- (void)setCustomVideoCaptureFillMode:(ZegoViewMode) mode channel:(ZegoPublishChannel) channel;
设置自定义视频采集画面缩放填充模式,支持其他路推流
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoViewMode画面填充缩放模式
channelZegoPublishChannel推流通道

详情

当开启自定义视频采集功能时,可使用此接口设置视频画面的缩放填充模式。

  • 业务场景:如自定义采集分辨率、SDK编码分辨率不一致时,SDK将根据填充模式处理视频帧,调整为编码分辨率。
  • 调用时机:调用 [sendCustomVideoCaptureRawData]、[sendCustomVideoCaptureTextureData]、[sendCustomVideoCapturePixelBuffer]、[sendCustomVideoCaptureEncodedData] 之前。
  • 支持版本:1.10.0 及以上。

setCustomVideoCaptureFlipMode:

setCustomVideoCaptureFlipMode:
- (void)setCustomVideoCaptureFlipMode:(ZegoVideoFlipMode) mode;
设置自定义采集画面翻转模式,仅当自定义采集类型为 Texture2D 时,此函数生效。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoVideoFlipMode画面翻转模式

详情

当开启自定义视频采集功能时,可使用此接口设置视频画面的翻转模式。

  • 调用时机:调用 [sendCustomVideoCaptureRawData],[sendCustomVideoCaptureTextureData],[sendCustomVideoCapturePixelBuffer],[sendCustomVideoCaptureEncodedData] 之前。
  • 支持版本:1.10.0 及以上。
  • 注意事项:只有自定义采集类型为 Texture2D 时,此函数生效。

setCustomVideoCaptureFlipMode:channel:

setCustomVideoCaptureFlipMode:channel:
- (void)setCustomVideoCaptureFlipMode:(ZegoVideoFlipMode) mode channel:(ZegoPublishChannel) channel;
设置自定义采集画面翻转模式,支持其他路推流。仅当自定义采集类型为 Texture2D 时,此函数生效。
Declared in ZegoExpressEngine.h

参数

名称类型描述
modeZegoVideoFlipMode画面翻转模式
channelZegoPublishChannel推流通道

详情

当开启自定义视频采集功能时,可使用此接口设置视频画面的翻转模式。

  • 调用时机:调用 [sendCustomVideoCaptureRawData],[sendCustomVideoCaptureTextureData],[sendCustomVideoCapturePixelBuffer],[sendCustomVideoCaptureEncodedData] 之前。
  • 支持版本:1.10.0 及以上。
  • 注意事项:只有自定义采集类型为 Texture2D 时,此函数生效。

setCustomVideoCaptureRotation:channel:

setCustomVideoCaptureRotation:channel:
- (void)setCustomVideoCaptureRotation:(int) rotation channel:(ZegoPublishChannel) channel;
设置指定推流通道自定义采集画面旋转角度。
Declared in ZegoExpressEngine.h

参数

名称类型描述
rotationint顺时针角度。
channelZegoPublishChannel推流通道。

详情

可通过此函数设置指定推流通道的自定义采集画面的旋转角度。

  • 调用时机:在收到 [onStart] 回调后调用。
  • 支持版本:2.14.0 及以上。
  • 使用限制:当自定义采集类型为 CVPixelBuffer 或 Texture2D 时,此函数生效。

setCustomVideoCaptureDeviceState:state:channel:

setCustomVideoCaptureDeviceState:state:channel:
- (void)setCustomVideoCaptureDeviceState:(BOOL) isEnable state:(ZegoRemoteDeviceState) state channel:(ZegoPublishChannel) channel;
设置指定推流通道自定义采集设备状态。
Declared in ZegoExpressEngine.h

参数

名称类型描述
isEnableBOOL设备是否处于开启状态。
stateZegoRemoteDeviceState设备状态。
channelZegoPublishChannel推流通道。

详情

用户可通过此接口设置指定推流通道的自定义采集设备状态。

  • 调用时机:在收到 [onStart] 回调后调用。
  • 相关回调:拉本地流的远端用户可通过监听 [onRemoteCameraStateUpdate] 获取推流端设备状态变更。
  • 支持版本:2.15.0 及以上。
  • 使用限制:无。

setCustomVideoCaptureRegionOfInterest:channel:

setCustomVideoCaptureRegionOfInterest:channel:
- (void)setCustomVideoCaptureRegionOfInterest:(NSArray<ZegoRoiRect *> *) rectList channel:(ZegoPublishChannel) channel;
设置指定推流通道自定义视频采集编码器的感兴趣区域(ROI)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
rectListNSArray<ZegoRoiRect *> *ROI 矩形区域列表,当前最多支持 6 个区域。
channelZegoPublishChannel推流通道

详情

可通过此函数设置编码器的感兴趣区域(ROI)。

  • 调用时机:在收到 [onStart] 回调后调用。
  • 支持版本:2.16.0 及以上。
  • 使用限制:目前仅特定的视频编码器支持此功能,使用前请联系技术支持。
  • 注意事项:此函数目前为实验性功能,使用前请联系技术支持。

prepareForReplayKit

prepareForReplayKit
- (void)prepareForReplayKit;
初始化 Express ReplayKit 模块
Declared in ZegoExpressEngine.h

仅在 ReplayKit 子进程内使用,主 App 进程内不要使用。

setReplayKitMicrophoneVolume:

setReplayKitMicrophoneVolume:
- (void)setReplayKitMicrophoneVolume:(int) volume;
设置 ReplayKit Microphone 音频音量
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint范围为 0 ~ 200,默认为 100。

详情

设置屏幕录制时 Microphone 音频音量。

  • 业务场景:游戏直播场景中设置 Microphone 音频音量。
  • 调用时机:调用 [startPreview] 或 [startPublishingStream] 成功之后再调用才有效。
  • 相关接口:[setReplayKitApplicationVolume], 该方法可以设置屏幕录制时 Application 音频音量。
  • 支持版本:2.13.0 及以上。
  • 使用限制:无。
  • 注意事项:该方法影响类型为 RPSampleBufferTypeAudioMic 的音频音量。

setReplayKitApplicationVolume:

setReplayKitApplicationVolume:
- (void)setReplayKitApplicationVolume:(int) volume;
设置 ReplayKit Application 音频音量
Declared in ZegoExpressEngine.h

参数

名称类型描述
volumeint范围为 0 ~ 200,默认为 100。

详情

设置屏幕录制时 Application 音频音量。

  • 业务场景:游戏直播场景中设置 Application 音频音量。
  • 调用时机:调用 [startPreview] 或 [startPublishingStream] 成功之后再调用才有效。
  • 相关接口:[setReplayKitMicrophoneVolume], 该方法可以设置屏幕录制时 Microphone 音频音量。
  • 支持版本:2.13.0 及以上。
  • 使用限制:无。
  • 注意事项:该方法影响类型为 RPSampleBufferTypeAudioApp 的音频音量。

handleReplayKitSampleBuffer:bufferType

handleReplayKitSampleBuffer:bufferType
- (void)handleReplayKitSampleBuffer:(CMSampleBufferRef)sampleBuffer bufferType:(RPSampleBufferType)bufferType API_AVAILABLE(ios(10.0));
处理 ReplayKit 的 SampleBuffer,支持接收视频与音频 Buffer
Declared in ZegoExpressEngine.h
名称类型描述
sampleBufferCMSampleBufferRefReplayKit 返回的视频或音频 Buffer
bufferTypeRPSampleBufferTypeReplayKit 返回的 Buffer 类型

enableCustomVideoProcessing:config:

enableCustomVideoProcessing:config:
- (void)enableCustomVideoProcessing:(BOOL) enable config:(nullable ZegoCustomVideoProcessConfig *) config;
自定义视频前处理配置开关。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启。是否必填:是。
confignullable ZegoCustomVideoProcessConfig *自定义视频前处理配置。是否必填:是。注意事项:传 nil 则使用平台默认值。

详情

当开发者开启自定义前处理时,通过调用 [setCustomVideoProcessHandler] 可设置设置自定义视频前处理回调。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 默认值:默认关闭。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:调用 [setCustomVideoProcessHandler] 函数可设置设置自定义视频前处理回调。
  • 支持版本:2.2.0 及以上(Android/iOS/macOS原生),2.4.0 及以上(Windows/macOS C++)。
  • 使用限制:无。

enableCustomVideoProcessing:config:channel:

enableCustomVideoProcessing:config:channel:
- (void)enableCustomVideoProcessing:(BOOL) enable config:(nullable ZegoCustomVideoProcessConfig *) config channel:(ZegoPublishChannel) channel;
自定义视频前处理配置开关,支持指定推流通道号。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启。是否必填:是。
confignullable ZegoCustomVideoProcessConfig *自定义视频前处理配置。是否必填:是。注意事项:传 nil 则使用平台默认值。
channelZegoPublishChannel推流通道。是否必填:否。默认值:主推流通道。

详情

当开发者开启自定义前处理时,通过调用 [setCustomVideoProcessHandler] 可设置设置自定义视频前处理回调。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 默认值:默认关闭。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:调用 [setCustomVideoProcessHandler] 函数可设置设置自定义视频前处理回调。
  • 支持版本:2.2.0 及以上(Android/iOS/macOS原生),2.4.0 及以上(Windows/macOS C++)。
  • 使用限制:无。

setCustomVideoProcessHandler:

setCustomVideoProcessHandler:
- (void)setCustomVideoProcessHandler:(nullable id<ZegoCustomVideoProcessHandler>) handler;
设置自定义视频前处理回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
handlernullable id<ZegoCustomVideoProcessHandler>自定义视频前处理回调对象。是否必填:是。

详情

当开发者开启自定义前处理时,通过调用 [setCustomVideoProcessHandler] 可设置设置自定义视频前处理回调,获取原始视频数据。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:在 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前调用,否则可能会导致获取视频数据的时机过慢。
  • 相关接口:调用 [enableCustomVideoProcessing] 函数可开启自定义视频前处理回调。
  • 支持版本:2.2.0 及以上(Android/iOS/macOS原生),2.4.0 及以上(Windows/macOS C++)。
  • 使用限制:无。

sendCustomVideoProcessedCVPixelBuffer:timestamp:

sendCustomVideoProcessedCVPixelBuffer:timestamp:
- (void)sendCustomVideoProcessedCVPixelBuffer:(CVPixelBufferRef) buffer timestamp:(CMTime) timestamp;
将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK。
Declared in ZegoExpressEngine.h

参数

名称类型描述
bufferCVPixelBufferRef要向 SDK 发送的 CVPixelBuffer 类型视频帧数据。是否必填:是。
timestampCMTime该视频帧的时间戳。是否必填:是。

详情

开启自定义视频前处理时,将自定义视频前处理后的 [CVPixelBuffer] 格式视频数据发送给 SDK,支持其他路推流。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:必须在 [onCapturedUnprocessedCVPixelbuffer] 回调中调用。
  • 平台差异:仅在 iOS/macOS 平台生效。
  • 支持版本:2.2.0 及以上(iOS原生),2.4.0及以上(macOS C++)。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeCVPixelBuffer] 或 [ZegoVideoBufferTypeNV12CVPixelBuffer] 时,此接口生效。

sendCustomVideoProcessedCVPixelBuffer:timestamp:channel:

sendCustomVideoProcessedCVPixelBuffer:timestamp:channel:
- (void)sendCustomVideoProcessedCVPixelBuffer:(CVPixelBufferRef) buffer timestamp:(CMTime) timestamp channel:(ZegoPublishChannel) channel;
将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK。支持其他路推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
bufferCVPixelBufferRef要向 SDK 发送的 CVPixelBuffer 类型视频帧数据。
timestampCMTime该视频帧的时间戳。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,将自定义视频前处理后的 [CVPixelBuffer] 格式视频数据发送给 SDK,支持其他路推流。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:必须在 [onCapturedUnprocessedCVPixelbuffer] 回调中调用。
  • 平台差异:仅在 iOS/macOS 平台生效。
  • 支持版本:2.2.0 及以上(iOS原生),2.4.0及以上(macOS C++)。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeCVPixelBuffer] 或 [ZegoVideoBufferTypeNV12CVPixelBuffer] 时,此接口生效。

sendCustomVideoProcessedCVPixelBuffer:timestamp:usage:channel:

sendCustomVideoProcessedCVPixelBuffer:timestamp:usage:channel:
- (void)sendCustomVideoProcessedCVPixelBuffer:(CVPixelBufferRef) buffer timestamp:(CMTime) timestamp usage:(ZegoProcessedDataUsageType) usage channel:(ZegoPublishChannel) channel;
将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK。支持其他路推流,并且支持指定数据用途。
Declared in ZegoExpressEngine.h

参数

名称类型描述
bufferCVPixelBufferRef要向 SDK 发送的 CVPixelBuffer 类型视频帧数据。
timestampCMTime该视频帧的时间戳。
usageZegoProcessedDataUsageType数据的用途
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,将自定义视频前处理后的 [CVPixelBuffer] 格式视频数据发送给 SDK,支持其他路推流。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:必须在 [onCapturedUnprocessedCVPixelbuffer] 回调中调用。
  • 平台差异:仅在 iOS/macOS 平台生效。
  • 支持版本:3.14.0 及以上(iOS原生, macOS C++)。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeCVPixelBuffer] 或 [ZegoVideoBufferTypeNV12CVPixelBuffer] 时,此接口生效。

enableCustomAudioCaptureProcessing:config:

enableCustomAudioCaptureProcessing:config:
- (void)enableCustomAudioCaptureProcessing:(BOOL) enable config:(ZegoCustomAudioProcessConfig *) config;
开启本地采集自定义音频处理(耳返前)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启本地采集自定义音频处理。
configZegoCustomAudioProcessConfig *自定义音频处理配置。

详情

开启自定义音频处理(耳返前),开发者可以通过 [onProcessCapturedAudioData] 收到本地采集的音频帧,并且可以对音频数据进行修改。

  • 业务场景:如果开发者想在采集音频数据后或拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.13.0 及以上。
  • 使用限制:无。

enableCustomAudioCaptureProcessingAfterHeadphoneMonitor:config:

enableCustomAudioCaptureProcessingAfterHeadphoneMonitor:config:
- (void)enableCustomAudioCaptureProcessingAfterHeadphoneMonitor:(BOOL) enable config:(ZegoCustomAudioProcessConfig *) config;
开启本地采集自定义音频处理(耳返后)。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启本地采集自定义音频处理。
configZegoCustomAudioProcessConfig *自定义音频处理配置。

详情

开启自定义音频处理(耳返后),开发者可以通过 [onProcessCapturedAudioDataAfterUsedHeadphoneMonitor] 收到本地采集的音频帧,并且可以对音频数据进行修改。

  • 业务场景:如果开发者想在采集音频数据后或拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.13.0 及以上。
  • 使用限制:无。

enableAlignedAudioAuxData:param:

enableAlignedAudioAuxData:param:
- (void)enableAlignedAudioAuxData:(BOOL) enable param:(ZegoAudioFrameParam *) param;
开启抛出与伴奏对齐的音频混音数据功能。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启抛出对齐的音频混音数据功能。
paramZegoAudioFrameParam *音频帧参数。目前支持 8k、16k、32k、44.1k、48k 的采样率,支持单声道、双声道。

详情

开启抛出与伴奏对齐的音频混音数据功能,开发者可以通过 [onAlignedAudioAuxData] 收到对齐后的音频混音数据。

  • 业务场景:KTV 场景下,若用户想录制人声和伴奏进行处理,可使用该功能。
  • 调用时机:需要在 [createEngine] 之后调用有效。
  • 支持版本:2.22.0 及以上。
  • 使用限制:无。
  • 注意事项:开启抛出与伴奏对齐的音频混音数据功能后,推流数据不含有音频混音数据。

enableBeforeAudioPrepAudioData:param:

enableBeforeAudioPrepAudioData:param:
- (void)enableBeforeAudioPrepAudioData:(BOOL) enable param:(ZegoAudioFrameParam *) param;
开启抛出 SDK 内部音频前处理前的音频数据功能。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启抛出 SDK 内部音频前处理前的音频数据功能。
paramZegoAudioFrameParam *音频帧参数。目前支持 0、16k、32k、44.1k、48k 的采样率,0 表示使用 SDK 内部使用的采样率;支持未知声道、单声道、双声道,未知声道表示使用 SDK 内部使用的声道数。

详情

开启抛出 SDK 内部音频前处理前的音频数据功能,开发者可以通过 [onBeforeAudioPrepAudioData] 收到 SDK 内部音频前处理前的音频数据。

  • 调用时机:需要在 [createEngine] 之后调用有效。
  • 支持版本:3.11.0 及以上。
  • 使用限制:无。

enableCustomAudioRemoteProcessing:config:

enableCustomAudioRemoteProcessing:config:
- (void)enableCustomAudioRemoteProcessing:(BOOL) enable config:(ZegoCustomAudioProcessConfig *) config;
开启远端拉流自定义音频处理。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启远端拉流自定义音频处理。
configZegoCustomAudioProcessConfig *自定义音频处理配置。

详情

开启远端拉流自定义音频处理,开发者可以通过 [onProcessRemoteAudioData] 收到远端拉流的音频帧,并且可以对音频数据进行修改。

  • 业务场景:如果开发者想在拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.13.0 及以上。
  • 使用限制:无。

enableCustomAudioPlaybackProcessing:config:

enableCustomAudioPlaybackProcessing:config:
- (void)enableCustomAudioPlaybackProcessing:(BOOL) enable config:(ZegoCustomAudioProcessConfig *) config;
开启 SDK 播放的音频数据的自定义音频处理。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启 SDK 播放音频数据自定义音频处理。
configZegoCustomAudioProcessConfig *自定义音频处理配置。

详情

开启 SDK 播放的音频数据的自定义音频处理,开发者可以通过 [onProcessPlaybackAudioData] 收到 SDK 全部要播放的音频混合后的数据的音频帧,并且可以对音频数据进行修改。

  • 业务场景:如果开发者想在采集音频数据后,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.13.0 及以上。
  • 使用限制:无。

setCustomAudioProcessHandler:

setCustomAudioProcessHandler:
- (void)setCustomAudioProcessHandler:(nullable id<ZegoCustomAudioProcessHandler>) handler;
设置自定义音频处理回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
handlernullable id<ZegoCustomAudioProcessHandler>自定义音频处理回调。

详情

开启自定义音频处理时,通过此函数设置自定义音频处理回调,开发者可以在回调中修改处理音频帧数据。

  • 业务场景:如果开发者想在采集音频数据后或拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:创建引擎后。
  • 支持版本:1.13.0 及以上。
  • 使用限制:无。

startAudioDataObserver:param:

startAudioDataObserver:param:
- (void)startAudioDataObserver:(ZegoAudioDataCallbackBitMask) observerBitMask param:(ZegoAudioFrameParam *) param;
开启音频数据回调监测。
Declared in ZegoExpressEngine.h

参数

名称类型描述
observerBitMaskZegoAudioDataCallbackBitMask回调使能掩码标记位,参考 [ZegoAudioDataCallbackBitMask] 枚举;当转换为二进制时,0b01 即 1 << 0 表示触发 [onCapturedAudioData], 0b10 即 1 << 1 表示触发 [onPlaybackAudioData], 0b100 即 1 << 2 表示触发 [onMixedAudioData], 0b1000 即 1 << 3 表示触发 [onPlayerAudioData]。掩码可组合以使不同的回调同时触发。
paramZegoAudioFrameParam *音频帧参数。

详情

开启自定义音频处理时,通过此函数开启音频数据回调监测。

  • 业务场景:需要监测原始音频时。
  • 调用时机:创建引擎后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用此函数后且已通过调用 [setAudioDataHandler] 设置回调后才会触发音频监测。如果要开启 [onPlayerAudioData] 回调,那么还必须正在拉流中,且此时调用 [startAudioDataObserver] 函数传入的采样率不支持 8000Hz、22050Hz 和 24000Hz。
  • 注意事项:该接口会启动音视频引擎,会占用麦克风设备。

stopAudioDataObserver

stopAudioDataObserver
- (void)stopAudioDataObserver;
停止音频数据回调监测。
Declared in ZegoExpressEngine.h

停止音频数据回调监测。

  • 业务场景:需要监测原始音频时。
  • 调用时机:调用 [startAudioDataObserver] 开启音频数据监测后。
  • 支持版本:1.1.0 及以上。

setAudioDataHandler:

setAudioDataHandler:
- (void)setAudioDataHandler:(nullable id<ZegoAudioDataHandler>) handler;
设置额外接收音频数据的回调。
Declared in ZegoExpressEngine.h

参数

名称类型描述
handlernullable id<ZegoAudioDataHandler>接收音频数据的回调对象。

详情

可以调用此函数以接收 SDK 旁路抛出的音频数据。

  • 业务场景:当开发者需要获取远端用户的音频数据或者需要获取本地麦克风采集到的数据另做他用(例如纯音频录制、纯音频第三方监控、纯音频实时分析)时。
  • 调用时机:创建引擎后。
  • 相关接口:开启音频数据监测调用 [startAudioDataObserver],关闭音频数据监测调用 [stopAudioDataObserver]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:所设置的回调需要在调用 [startAudioDataObserver] 之后且正在推流或拉流状态才有效。
  • 注意事项:抛出的音频数据格式为 pcm,SDK 仍然控制声音设备的采集和播放,该功能是复制一份 SDK 内部采集或播放的数据出来给开发者使用。

enableCustomAudioIO:config:

enableCustomAudioIO:config:
- (void)enableCustomAudioIO:(BOOL) enable config:(ZegoCustomAudioConfig *) config;
开启自定义音频 IO 功能。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启自定义音频 IO。
configZegoCustomAudioConfig *自定义音频 IO 的配置。

详情

开启自定义音频 IO 功能,支持 PCM 、AAC 格式数据。

  • 业务场景:如果开发者想在采集音频数据后或拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

enableCustomAudioIO:config:channel:

enableCustomAudioIO:config:channel:
- (void)enableCustomAudioIO:(BOOL) enable config:(ZegoCustomAudioConfig *) config channel:(ZegoPublishChannel) channel;
开启自定义音频 IO 功能,支持其他路推流,支持 PCM 、AAC 格式数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
enableBOOL是否开启自定义音频 IO。
configZegoCustomAudioConfig *自定义音频 IO 的配置。
channelZegoPublishChannel指定要开启自定义音频 IO 的推流通道。

详情

开启自定义音频 IO 功能,支持 PCM 、AAC 格式数据。

  • 业务场景:如果开发者想在采集音频数据后或拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

sendCustomAudioCaptureAACData:dataLength:configLength:timestamp:samples:param:channel:

sendCustomAudioCaptureAACData:dataLength:configLength:timestamp:samples:param:channel:
- (void)sendCustomAudioCaptureAACData:(unsigned char *) data dataLength:(unsigned int) dataLength configLength:(unsigned int) configLength timestamp:(CMTime) timestamp samples:(unsigned int) samples param:(ZegoAudioFrameParam *) param channel:(ZegoPublishChannel) channel;
发送自定义音频采集 AAC 数据,支持设置其他通道的推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataunsigned char *AAC buffer 数据。
dataLengthunsigned intbuffer 数据的总长度。
configLengthunsigned intAAC specific config 的长度 (注意:AAC encoded data 的长度 encodedLength = dataLength - configLength)。取值范围:[0,64]。
timestampCMTime该 AAC 音频帧的 UNIX 时间戳。
samplesunsigned int该 AAC 音频帧的采样数。取值范围:[480,512,1024,1960,2048]。
paramZegoAudioFrameParam *该 AAC 音频帧的参数。
channelZegoPublishChannel采集音频帧的推流通道。

详情

把采集到的音频 AAC 数据塞给 SDK。

  • 业务场景:开发者需要从现有音频流、音频文件、或者定制的采集系统中获得采集后输入,交给 SDK 传输。
  • 调用时机:在 [enableCustomAudioIO] 且推流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始推流 [startPublishingStream]。
  • 支持版本:2.20.0 及以上。
  • 使用限制:无。

sendCustomAudioCapturePCMData:dataLength:param:

sendCustomAudioCapturePCMData:dataLength:param:
- (void)sendCustomAudioCapturePCMData:(unsigned char *) data dataLength:(unsigned int) dataLength param:(ZegoAudioFrameParam *) param;
发送自定义音频采集 PCM 数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataunsigned char *PCM buffer 数据。
dataLengthunsigned intbuffer 数据的总长度。
paramZegoAudioFrameParam *该 PCM 音频帧的参数。

详情

把采集到的音频 PCM 数据塞给 SDK。

  • 业务场景:1、开发者需要从现有音频流、音频文件、或者定制的采集系统中获得采集后输入,交给 SDK 传输。2、开发者有自己对 PCM 输入源做特殊的音效处理的需求,在音效处理后输入,交给 SDK 传输。
  • 调用时机:在 [enableCustomAudioIO] 且推流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始推流 [startPublishingStream]。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

sendCustomAudioCapturePCMData:dataLength:param:channel:

sendCustomAudioCapturePCMData:dataLength:param:channel:
- (void)sendCustomAudioCapturePCMData:(unsigned char *) data dataLength:(unsigned int) dataLength param:(ZegoAudioFrameParam *) param channel:(ZegoPublishChannel) channel;
发送自定义音频采集 PCM 数据,支持其他路推流。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataunsigned char *PCM buffer 数据。
dataLengthunsigned intbuffer 数据的总长度。
paramZegoAudioFrameParam *该 PCM 音频帧的参数。
channelZegoPublishChannel采集音频帧的推流通道。

详情

把采集到的音频 PCM 数据塞给 SDK。

  • 业务场景:1、开发者需要从现有音频流、音频文件、或者定制的采集系统中获得采集后输入,交给 SDK 传输。2、开发者有自己对 PCM 输入源做特殊的音效处理的需求,在音效处理后输入,交给 SDK 传输。
  • 调用时机:在 [enableCustomAudioIO] 且推流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始推流 [startPublishingStream]。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

fetchCustomAudioRenderPCMData:dataLength:param:

fetchCustomAudioRenderPCMData:dataLength:param:
- (void)fetchCustomAudioRenderPCMData:(unsigned char *) data dataLength:(unsigned int) dataLength param:(ZegoAudioFrameParam *) param;
从 SDK 取远端拉流自定义音频渲染 PCM 数据。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataunsigned char *用于存放音频 PCM 数据的内存块,需要用户自行管理此内存块的生命周期;SDK 将会把音频帧渲染数据拷贝到此内存块上。
dataLengthunsigned int此次需要从 SDK 取的音频数据的长度 (dataLength = duration(此音频帧的时长) * sampleRate * channels * 2(位深 16 bit 即 2 Btye))。
paramZegoAudioFrameParam *指定从 SDK 取的音频帧的参数。ZegoAudioFrameParam 中参数sampleRate必填。

详情

从 SDK 拉取远端流的音频数据,建议对接系统框架来定时调用此函数,以驱动音频数据渲染。

  • 业务场景:当开发者有自己渲染的需求,例如对拉取到的原始 PCM 数据做特殊应用或者处理后再渲染,建议使用 SDK 的自定义音频渲染功能。
  • 调用时机:在 [enableCustomAudioIO] 且拉流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始拉流 [startPlayingStream]。
  • 支持版本:1.10.0 及以上。
  • 使用限制:无。

sendReferenceAudioPCMData:dataLength:param:

sendReferenceAudioPCMData:dataLength:param:
- (void)sendReferenceAudioPCMData:(unsigned char *) data dataLength:(unsigned int) dataLength param:(ZegoAudioFrameParam *) param;
向 SDK 发送由开发者自定义处理后的 PCM 音频数据,用作对自定义渲染音频消除回声的参考。
Declared in ZegoExpressEngine.h

参数

名称类型描述
dataunsigned char *PCM buffer 数据
dataLengthunsigned intbuffer 数据的总长度
paramZegoAudioFrameParam *该 PCM 音频帧的参数

详情

开发者以音频设备时钟为驱动取 PCM 音频数据,处理后用于自定义音频渲染,在提交渲染的同时,调用该函数将处理后的音频数据发回 SDK,以便 SDK 内部将其作为回声消除参考。

  • 业务场景:娱乐场景下,可能需要自定义处理远端传来的 PCM 音频数据,比如合成一段背景音、KTV 伴奏之后再进行渲染播放。与此同时,需要开发者将自行处理后的音频数据发还给 SDK 参考,以便采集后对处理后的音效进行回声消除。
  • 调用时机:在调用 [fetchCustomAudioRenderPCMData] 取到 PCM 音频数据并处理之后,提交给系统渲染播放的同时调用本函数。
  • 支持版本:2.13.0 及以上。
  • 使用限制:必须调用 [setEngineConfig] 开启外部音频数据作为参考,本功能才能生效,具体使用详情可咨询 ZEGO 技术支持。

setCustomAudioIOAudioRoute:

setCustomAudioIOAudioRoute:
- (void)setCustomAudioIOAudioRoute:(ZegoAudioRoute) audioRoute;
设置开启自定义音频 IO 功能后的音频路由。
Declared in ZegoExpressEngine.h

参数

名称类型描述
audioRouteZegoAudioRoute音频路由。

详情

设置开启自定义音频 IO 功能后的音频路由。

  • 业务场景:由业务指定当前音频路由,用于优化 AEC 效果。
  • 调用时机:在 [enableCustomAudioIO], [startPublishingStream] 后调用。
  • 支持版本:3.21.0 及以上。
  • 使用限制:仅支持 iOS、Android。

createRangeAudio

createRangeAudio
- (nullable ZegoRangeAudio *)createRangeAudio;
创建范围语音实例对象。
Declared in ZegoExpressEngine.h

创建范围语音实例对象。

  • 业务场景:常用于游戏语音场景中,用户可通过创建范围语音实例对象使用相关功能。
  • 调用时机:在初始化引擎 [createEngine] 之后。
  • 影响范围:使用范围语音模块,将不能使用基础推拉流 [startPublishingStream]、[startPlayingStream] 等相关函数以及 [onPublisherStateUpdate]、[onPlayerStateUpdate] 等相关回调,否则会出现流混乱的现象。
  • 支持版本:2.11.0 及以上。
  • 使用限制:目前最多支持创建 1 个实例,超过后将返回 nil。

范围语音实例,超过最大数量限制后将返回 nil。

destroyRangeAudio:

destroyRangeAudio:
- (void)destroyRangeAudio:(ZegoRangeAudio *) rangeAudio;
销毁范围语音实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
rangeAudioZegoRangeAudio *范围语音实例对象。

详情

销毁范围语音实例对象。

  • 支持版本:2.11.0 及以上。

createCopyrightedMusic

createCopyrightedMusic
- (nullable ZegoCopyrightedMusic *)createCopyrightedMusic;
创建版权音乐实例对象。
Declared in ZegoExpressEngine.h

创建版权音乐实例对象。

  • 业务场景:常用于在线 KTV 合唱场景中,用户可通过创建版权音乐实例对象使用相关功能。
  • 调用时机:在初始化引擎 [createEngine] 之后。
  • 支持版本:2.13.0 及以上。
  • 使用限制:SDK 只支持创建一个实例,多次调用此函数返回同一个对象。

版权音乐实例,多次调用此函数返回同一个对象。

destroyCopyrightedMusic:

destroyCopyrightedMusic:
- (void)destroyCopyrightedMusic:(ZegoCopyrightedMusic *) copyrightedMusic;
销毁版权音乐实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
copyrightedMusicZegoCopyrightedMusic *版权音乐实例对象。

详情

销毁版权音乐实例对象。

  • 调用时机:在销毁引擎 [destroyEngine] 之前。
  • 支持版本:2.13.0 及以上。

createAudioVADClient

createAudioVADClient
- (nullable ZegoAudioVADClient *)createAudioVADClient;
创建检测音频包类对象。
Declared in ZegoExpressEngine.h

创建检测音频包类对象。

  • 业务场景:可以用于检测音频包是否包含语音。
  • 调用时机:在初始化引擎 [createEngine] 之后。
  • 支持版本:2.21.0 及以上。
  • 使用限制:每条流应该对应一个检测音频包类对象,或者将已有对象重置后再应用于不同的流。

检测音频包类对象。

destroyAudioVADClient:

destroyAudioVADClient:
- (void)destroyAudioVADClient:(ZegoAudioVADClient *) client;
销毁检测音频包类对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
clientZegoAudioVADClient *检测音频包类对象。

详情

销毁检测音频包类对象。

  • 调用时机:在初始化引擎 [createEngine] 之后。
  • 支持版本:2.21.0 及以上。

createRangeScene

createRangeScene
- (nullable ZegoRangeScene *)createRangeScene;
创建范围场景实例对象。
Declared in ZegoExpressEngine.h

创建范围场景实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过范围场景实例对象使用相关功能。
  • 调用时机:通过 [createEngine] 初始化引擎后。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。

范围场景实例。

destroyRangeScene:

destroyRangeScene:
- (void)destroyRangeScene:(ZegoRangeScene *) rangeScene;
销毁范围场景实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
rangeSceneZegoRangeScene *范围场景实例对象。

详情

销毁范围场景实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过获取范围场景实例对象使用相关功能。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。

getScreenCaptureSourcesWithThumbnailSize:iconSize:

getScreenCaptureSourcesWithThumbnailSize:iconSize:
- (NSArray<ZegoScreenCaptureSourceInfo *> *)getScreenCaptureSourcesWithThumbnailSize:(CGSize) thumbnailSize iconSize:(CGSize) iconSize;
获取屏幕列表或屏幕中的窗口列表。
Declared in ZegoExpressEngine.h

参数

名称类型描述
thumbnailSizeCGSize获取窗口所对应的缩略图尺寸,缩略图可用于绘制在窗口选择界面上。(单位为像素)
iconSizeCGSize获取程序所对应的图标的尺寸。(单位为像素)

详情

获取屏幕列表或屏幕中的窗口列表。

  • 支持版本:3.1.0 及以上
  • 使用限制:只适用于 Windows/macOS 系统

返回值

采集源对象信息列表。

createScreenCaptureSource:sourceType:

createScreenCaptureSource:sourceType:
- (nullable ZegoScreenCaptureSource*)createScreenCaptureSource:(unsigned int) sourceId sourceType:(ZegoScreenCaptureSourceType) sourceType;
创建屏幕采集源
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceIdunsigned int指定的屏幕 ID 或窗口 ID。
sourceTypeZegoScreenCaptureSourceType指定的屏幕源类型。

详情

根据提供的源的 ID 和源的类型创建屏幕采集源对象。

  • 业务场景:需要对屏幕或窗口有录制和分享等业务时使用。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:3.1.0 及以上。

返回值

屏幕采集源对象,超过最大数量限制后将返回 nil

destroyScreenCaptureSource:

destroyScreenCaptureSource:
- (void)destroyScreenCaptureSource:(ZegoScreenCaptureSource *) source;
销毁屏幕采集源对象
Declared in ZegoExpressEngine.h

参数

名称类型描述
sourceZegoScreenCaptureSource *需要销毁的屏幕采集源对象

详情

销毁 [ZegoScreenCaptureSource] 屏幕采集源对象。

  • 业务场景:不再需要使用屏幕采集功能时,可通过此函数销毁 [createScreenCaptureSource] 函数创建出来的实例对象。
  • 调用时机:当需要销毁屏幕采集源对象时。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:3.1.0 及以上。
  • 使用限制:销毁后,开发者需要自行释放持有的 [ZegoScreenCaptureSource] 实例对象,并且销毁后也不要再调用此实例对象的函数。

setAppGroupID:

setAppGroupID:
- (void)setAppGroupID:(NSString *)groupID API_AVAILABLE(ios (12.0));
设置 App Group 配置项。
Declared in ZegoExpressEngine.h

参数

名称类型描述
groupIDNSString *主应用和 extension 扩展应用应该归属于同一个 App Group,此处需要传入 AppGroupID。
  • 业务场景:需要使用 iOS 跨进程屏幕共享功能,需要启动 App Group,可以提供更好的性能与稳定性。必须搭配 ZegoReplayKit 扩展类里的 [setupWithAppGroupID:] 使用。
  • 调用时机:[createEngine] 之后,调用 [startScreenCapture] 之前调用。
  • 支持版本:3.3.0 及以上。
  • 使用限制:仅 iOS 平台使用。

startScreenCaptureInApp:

startScreenCaptureInApp:
- (void)startScreenCaptureInApp:(ZegoScreenCaptureConfig *)config API_AVAILABLE(ios (12.0));
开始屏幕采集,仅限 app 应用内录屏。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoScreenCaptureConfig *屏幕采集参数配置。

详情

开始屏幕采集。

  • 调用时机:在调用 [setVideoSource]、[setAudioSource] 函数设置采集源 为 ScreenCapture 后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:仅对 iOS 系统生效。

startScreenCapture:

startScreenCapture:
- (void)startScreenCapture:(ZegoScreenCaptureConfig *)config API_AVAILABLE(ios (12.0));
开始屏幕采集。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoScreenCaptureConfig *屏幕采集参数配置。

详情

开始屏幕采集。

  • 调用时机:在调用 [setVideoSource]、[setAudioSource] 函数设置采集源 为 ScreenCapture 后。
  • 支持版本:3.1.0 及以上。

stopScreenCapture

stopScreenCapture
- (void)stopScreenCapture API_AVAILABLE(ios (12.0));
停止屏幕采集。
Declared in ZegoExpressEngine.h

停止屏幕采集。

  • 支持版本:3.1.0 及以上。

updateScreenCaptureConfig:

updateScreenCaptureConfig:
- (void)updateScreenCaptureConfig:(ZegoScreenCaptureConfig *)config API_AVAILABLE(ios (12.0));
更新屏幕采集参数配置。
Declared in ZegoExpressEngine.h

参数

名称类型描述
configZegoScreenCaptureConfig *屏幕采集参数配置。

详情

更新屏幕采集参数配置。

  • 调用时机:在调用 [startScreenCapture] 开始采集后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:仅对 iOS 系统生效。仅适用于 iOS 12.0 或更高版本。

createAIVoiceChanger

createAIVoiceChanger
- (nullable ZegoAIVoiceChanger *)createAIVoiceChanger;
创建 AI 变声器实例。
Declared in ZegoExpressEngine.h

创建 AI 变声器实例对象。

  • 业务场景:常用于直播、语聊房和 KTV 等场景。
  • 调用时机:在初始化 SDK [createEngine] 之后。
  • 相关接口:用户可以调用 [destroyAIVoiceChanger] 销毁 AI 变声器实例对象。
  • 支持版本:3.10.0 及以上。
  • 使用限制:目前最多支持创建 1 个实例,超过后将返回 nil。

AI 变声器实例。

destroyAIVoiceChanger:

destroyAIVoiceChanger:
- (void)destroyAIVoiceChanger:(ZegoAIVoiceChanger *) aiVoiceChanger;
销毁 AI 变声器实例对象。
Declared in ZegoExpressEngine.h

参数

名称类型描述
aiVoiceChangerZegoAIVoiceChanger *AI 变声器实例对象。

详情

销毁 AI 变声器实例对象。

  • 相关接口:用户可以调用 [createAIVoiceChanger] 创建 AI 变声器实例对象。
  • 支持版本:3.10.0 及以上。

isAIVoiceChangerSupported

isAIVoiceChangerSupported
- (BOOL)isAIVoiceChangerSupported;
检测设备是否支持 AI 变声功能。
Declared in ZegoExpressEngine.h

检测设备是否支持 AI 变声功能。

  • 业务场景:常用于直播、语聊房和 KTV 等场景。
  • 调用时机:在初始化 SDK [createEngine] 之后。
  • 支持版本:3.14.0 及以上。

设备支持运行 AI 变声功能时返回 true,否则返回 false。

createPictureCapturer

createPictureCapturer
- (nullable ZegoPictureCapturer *)createPictureCapturer;
创建图片采集器实例。
Declared in ZegoExpressEngine.h

创建图片采集器实例。

  • 业务场景:常用于推静态图片。
  • 调用时机:在初始化 SDK [createEngine] 之后。
  • 相关接口:用户可以调用 [destroyPictureCapturer] 销毁图片采集器实例。使用 [setVideoSource] 设置图片采集为推流视频源。
  • 支持版本:3.22.0 及以上。
  • 使用限制:无。

图片采集器实例。

destroyPictureCapturer:

destroyPictureCapturer:
- (void)destroyPictureCapturer:(ZegoPictureCapturer *) pictureCapturer;
销毁图片采集器实例。
Declared in ZegoExpressEngine.h

参数

名称类型描述
pictureCapturerZegoPictureCapturer *图片采集器实例。

详情

销毁图片采集器实例。

  • 相关接口:用户可以调用 [createPictureCapturer] 创建图片采集器实例。
  • 支持版本:3.22.0 及以上。

setPlayStreamBufferIntervalRange:streamID:

setPlayStreamBufferIntervalRange:streamID:
deprecated
- (void)setPlayStreamBufferIntervalRange:(NSRange) range streamID:(NSString *) streamID;
【已废弃】设置拉流播放缓存自适应调整的区间范围。
Declared in ZegoExpressEngine.h
名称类型描述
rangeNSRange缓存自适应区间范围。
streamIDNSString *流 ID。
已废弃
此函数在 3.4.0 版本及以上已废弃,请使用 [setPlayStreamBufferIntervalRange:min:max:] 代替。

enableBeautify:

enableBeautify:
deprecated
- (void)enableBeautify:(ZegoBeautifyFeature) featureBitmask;
【已废弃】开/关美颜,为主推流通道设置。此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。
Declared in ZegoExpressEngine.h

参数

名称类型描述
featureBitmaskZegoBeautifyFeature美颜特性,位掩码格式,可选择同时开启 [ZegoBeautifyFeature] 中的几个特性

详情

当开发者对美颜需求不大时,可使用此功能设置一些非常简单的美颜效果。

  • 调用时机:需要在 [createEngine] 之后调用。
  • 默认值:未调用此函数时,默认不开启美颜功能。
  • 相关接口:开启美颜功能后可调用 [setBeautifyOption] 函数调整美颜参数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:在使用自定义视频采集功能的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,本函数不再有效。在使用自定义视频前处理功能的情况下也无效。
  • 注意事项:此美颜功能较为简单,可能不符合开发者的预期,建议使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。
已废弃
此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。

enableBeautify:channel:

enableBeautify:channel:
deprecated
- (void)enableBeautify:(ZegoBeautifyFeature) featureBitmask channel:(ZegoPublishChannel) channel;
【已废弃】开/关美颜,为任意推流通道设置。此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。
Declared in ZegoExpressEngine.h

参数

名称类型描述
featureBitmaskZegoBeautifyFeature美颜特性,位掩码格式,可选择同时开启 [ZegoBeautifyFeature] 中的几个特性
channelZegoPublishChannel推流通道

详情

当开发者对美颜需求不大时,可使用此功能设置一些非常简单的美颜效果。

  • 调用时机:需要在 [createEngine] 之后调用。
  • 默认值:未调用此函数时,默认不开启美颜功能。
  • 相关接口:开启美颜功能后可调用 [setBeautifyOption] 函数调整美颜参数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:在使用自定义视频采集功能的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,本函数不再有效。在使用自定义视频前处理功能的情况下也无效。
  • 注意事项:此美颜功能较为简单,可能不符合开发者的预期,建议使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。
已废弃
此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。

setBeautifyOption:

setBeautifyOption:
deprecated
- (void)setBeautifyOption:(ZegoBeautifyOption *) option;
【已废弃】设置美颜参数。此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。
Declared in ZegoExpressEngine.h

参数

名称类型描述
optionZegoBeautifyOption *美颜选项参数。

详情

设置主推流通道美颜参数。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,调用本函数不生效。在使用自定义视频前处理时,SDK 采集的视频数据会交给业务做进一步处理,调用本函数也不生效。
已废弃
此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。

setBeautifyOption:channel:

setBeautifyOption:channel:
deprecated
- (void)setBeautifyOption:(ZegoBeautifyOption *) option channel:(ZegoPublishChannel) channel;
【已废弃】设置美颜参数。此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。
Declared in ZegoExpressEngine.h

参数

名称类型描述
optionZegoBeautifyOption *美颜选项参数。
channelZegoPublishChannel推流通道。

详情

设置主推流通道美颜参数。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,调用本函数不生效。在使用自定义视频前处理时,SDK 采集的视频数据会交给业务做进一步处理,调用本函数也不生效。
已废弃
此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。

ZegoFaceDetectionInfo

人脸检测信息

详情

人脸检测信息

Declared in ZegoExpressDefines.h

属性

imageWidth

imageWidth
nonatomic, assign int imageWidth

摄像头采集的画面宽

imageHeight

imageHeight
nonatomic, assign int imageHeight

摄像头采集的画面高

facePositionList

facePositionList
nonatomic, strong NSArray<ZegoFacePositionInfo *> * facePositionList

人脸位置信息列表

ZegoFacePositionInfo

人脸检测功能所使用的位置信息。

Declared in ZegoExpressDefines.h

属性

position

position
nonatomic, assign CGRect position

人脸检测功能所使用的矩形坐标。

ZegoFontStyle

字体风格。

详情

字体风格配置,可用于配置字体类型、字体大小、字体颜色、字体透明度。

  • 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。

Declared in ZegoExpressDefines.h

属性

type

type
nonatomic, assign ZegoFontType type
  • 是否必填:否。
  • 默认值:思源黑体 [ZegoFontTypeSourceHanSans]。

size

size
nonatomic, assign int size
  • 是否必填:否。
  • 默认值:24。
  • 取值范围:[12,100]。

color

color
nonatomic, assign int color
  • 是否必填:否。
  • 默认值:16777215(白色)。
  • 取值范围:[0,16777215]。

transparency

transparency
nonatomic, assign int transparency
  • 是否必填:否。
  • 默认值:0。
  • 取值范围:[0,100],100 为完全不透明,0 为完全透明。

border

border
nonatomic, assign BOOL border
  • 是否必填:否。
  • 默认值:否。
  • 取值范围:是/否。

borderColor

borderColor
nonatomic, assign int borderColor
  • 是否必填:否。
  • 默认值:0。
  • 取值范围:[0,16777215]。

ZegoItemParam

物品参数。

Declared in ZegoExpressDefines.h

属性

itemID

itemID
long long itemID

物品 ID。

capacity

capacity
unsigned int capacity

物品的允许绑定用户人数。

position

position
nonatomic, strong, nonnull ZegoPosition * position

物品在范围场景中的初始位置坐标。

createMode

createMode
ZegoCreateItemMode createMode

创建物品模式。

ZegoLabelInfo

文本信息。

详情

文本信息配置,可用于配置文本内容、文本位置、文本风格。

  • 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。

Declared in ZegoExpressDefines.h

属性

text

text
nonatomic, copy NSString * text
  • 是否必填:是。
  • 取值范围:最大支持显示100个中文字符,300 个英文字符。

left

left
nonatomic, assign int left
  • 是否必填:否。
  • 默认值:0。

top

top
nonatomic, assign int top
  • 是否必填:否。
  • 默认值:0。

font

font
nonatomic, strong ZegoFontStyle * font
  • 是否必填:否。

方法

new

new
+ (instancetype)new NS_UNAVAILABLE;
此函数不可用。
Declared in ZegoExpressDefines.h

请使用 [initWithText:]

init

init
- (instancetype)init NS_UNAVAILABLE;
此函数不可用。
Declared in ZegoExpressDefines.h

请使用 [initWithText:]

initWithText

initWithText
- (instancetype)initWithText:(NSString *)text;
通过 text 构造一个文本信息对象。
Declared in ZegoExpressDefines.h

ZegoLabelInfo 对象。

ZegoLayerBorderConfig

图层边框配置。

详情

自定义设置视图边框的大小、颜色等。

Declared in ZegoExpressDefines.h

属性

width

width
nonatomic, assign unsigned int width

边框大小,默认值 4, 最大值为 100。

color

color
nonatomic, assign int color

边框颜色,格式为 0xRRGGBB,默认为绿色即 0x00FF00

ZegoLogConfig

日志配置

详情

调用 [setLogConfig] 自定义日志配置时,需要通过该参数配置。

  • 业务场景:当需要自定义日志存储路径或日志文件大小上限时,需要这个配置。
  • 注意事项:无。

Declared in ZegoExpressDefines.h

属性

logPath

logPath
nonatomic, copy NSString * logPath

用于自定义日志文件的存储路径。

  • 业务场景:当需要自定义日志存储路径时,需要这个配置。
  • 是否必填:否。
  • 默认值:各平台的默认路径有所不同,具体参考官网文档 https://doc-zh.zego.im/faq/express_sdkLog
  • 注意事项:开发者需要确保对该路径下文件的读写权限。

logSize

logSize
nonatomic, assign unsigned long long logSize

用于自定义日志文件大小上限。

  • 业务场景:当需要自定义日志文件大小上限时,需要这个配置。
  • 是否必填:否。
  • 默认值:5MB (5 * 1024 * 1024 Bytes)。
  • 取值范围:最小1MB (1 * 1024 * 1024 Bytes),最大100M (100 * 1024 * 1024 Bytes),0表示不需要写日志。
  • 注意事项:日志文件大小上限越大,承载的日志信息越多,但是日志上传时间也会更长。

logCount

logCount
nonatomic, assign unsigned int logCount

日志文件个数。默认是 3 个。取值范围是 [3, 20]

ZegoMediaDataPublisher

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoMediaDataPublisherEventHandler>) handler;
设置媒体推流器的事件回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoMediaDataPublisherEventHandler>事件回调 Handler

详情

设置媒体推流器的事件回调 handler。

  • 业务场景:常用于服务器端推流的场景,例如 AI 课堂。
  • 调用时机:在调用 [createMediaDataPublisher] 函数创建媒体数据推流器后。
  • 支持版本:2.17.0 及以上。
  • 注意事项:此 API 在 3.8.0 版本以前曾用名为 [setMediaDataPublisherEventHandler] 请参考 [3.8.0 及以上版本升级指南](https://doc-zh.zego.im/article/17982

addMediaFilePath:isClear:

addMediaFilePath:isClear:
- (void)addMediaFilePath:(NSString *) path isClear:(BOOL) isClear;
添加媒体文件到推流队列中。目前仅支持 mp4 / m4a / aac 文件,且需要做特殊转换。
Declared in ZegoExpressDefines.h

参数

名称类型描述
pathNSString *媒体文件的本地绝对路径。
isClearBOOL是否清空推流队列。

详情

添加媒体文件到推流队列中。目前仅支持 mp4 / m4a / aac 文件,且需要做特殊转换。

  • 业务场景:常用于服务器端推流的场景,例如 AI 课堂。
  • 调用时机:在调用 [createMediaDataPublisher] 函数创建媒体数据推流器后。
  • 支持版本:2.17.0 及以上。
  • 注意事项:mp4 文件格式必须满足以下几点:视频编码为 H.264,不能包含 B 帧,仅包含 I 帧和 P 帧,I 帧间隔为 2s,即单个 GOP 值为 2s;视频的帧率、码率、分辨率与推流前通过 [setVideoConfig] 设置的帧率、码率、分辨率保持一致;音频编码为 MPEG-4 AAC。

reset

reset
- (void)reset;
清除此媒体推流器中的所有状态,以便下次推流时重新开始。
Declared in ZegoExpressDefines.h

当需要重新推流,且不需要从之前的推流队列中继续推时,可调用此函数重置媒体推流器的状态。

  • 支持版本:2.17.0 及以上。
  • 注意事项:当开发者调用了 [logoutRoom] 之后,会自动重置状态。

setVideoSendDelayTime:

setVideoSendDelayTime:
- (void)setVideoSendDelayTime:(int) delayTime;
设置推迟视频播放时间。
Declared in ZegoExpressDefines.h

参数

名称类型描述
delayTimeint推迟视频播放时间。是否必填:是。取值范围:[0, 100] ms。

详情

当设置了此值后,在推流视频文件时,SDK 会固定地将视频延迟至设置的时间值才开始发送。

  • 业务场景:主要用于修正推流时出现的固定的音画不同步现象。
  • 调用时机:在调用 [createMediaDataPublisher] 函数创建媒体数据推流器后。
  • 支持版本:2.17.0 及以上。

seekTo:

seekTo:
- (void)seekTo:(unsigned long long) millisecond;
指定当前视频文件推流发送的时间起始点。
Declared in ZegoExpressDefines.h

参数

名称类型描述
millisecondunsigned long long开始推流的时间戳(相对于当前正在推流文件的时间戳,起始值为 0),单位:毫秒。

详情

指定当前视频文件推流发送的时间起始点。

  • 调用时机:在 [OnMediaDataPublisherFileOpen] 与 [OnMediaDataPublisherFileClose] 之间任意时间点调用都可。如:可以在 [OnMediaDataPublisherFileOpen] 回调中直接调用此函数。
  • 支持版本:2.17.0 及以上。

getTotalDuration

getTotalDuration
- (unsigned long long)getTotalDuration;
获取当前文件的总时长。
Declared in ZegoExpressDefines.h

获取当前文件的总时长,单位毫秒。

  • 调用时机:[onMediaDataPublisherFileDataBegin] 回调之后。
  • 支持版本:2.17.0 及以上。

当前文件的总时长。

getCurrentDuration

getCurrentDuration
- (unsigned long long)getCurrentDuration;
获取当前文件的播放进度。
Declared in ZegoExpressDefines.h

获取当前文件的播放进度,单位毫秒。

  • 调用时机:[onMediaDataPublisherFileDataBegin] 回调之后。
  • 支持版本:2.17.0 及以上。

当前文件的播放进度。

getIndex

getIndex
- (NSNumber *)getIndex;
获取媒体推流器的推流通道号。
Declared in ZegoExpressDefines.h

获取媒体推流器的推流通道号。

  • 支持版本:3.4.0 及以上。

ZegoMediaDataPublisherConfig

用于媒体数据推流器配置。

详情

用于在创建媒体数据推流器时,配置创建参数。

Declared in ZegoExpressDefines.h

属性

channel

channel
nonatomic, assign int channel

用于指定推流器的推流通道号。

mode

mode
nonatomic, assign ZegoMediaDataPublisherMode mode

用于指定推流的模式。

ZegoMediaDataPublisherEventHandler

Declared in ZegoExpressEventHandler.h

方法

mediaDataPublisher:fileOpen

mediaDataPublisher:fileOpen
- (void)mediaDataPublisher:(ZegoMediaDataPublisher *)publisher fileOpen:(NSString *)path;
媒体推流器打开媒体文件的事件回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
publisherZegoMediaDataPublisher *回调的媒体推流器实例
pathNSString *当前打开的文件路径

详情

媒体推流器打开媒体文件的事件回调。

  • 通知时机:当媒体推流器开始加载某个媒体文件时会触发此回调。
  • 支持版本:2.17.0 及以上。
  • 使用限制:无。

mediaDataPublisher:fileClose:errorCode

mediaDataPublisher:fileClose:errorCode
- (void)mediaDataPublisher:(ZegoMediaDataPublisher *)publisher fileClose:(NSString *)path errorCode:(int)errorCode;
媒体推流器关闭媒体文件的事件回调
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
publisherZegoMediaDataPublisher *回调的媒体推流器实例
errorCodeint错误码。0 为正常关闭文件。-1 为文件出错。-2 为路径异常。-3 为解码异常。-4 为时间戳不对。-5 为无法修正音画同步。-6 为不支持的音频采样率。详情联系技术支持。
pathNSString *当前打开的文件路径

详情

媒体推流器关闭媒体文件的事件回调。

  • 通知时机:当媒体推流器结束处理某个媒体文件时会触发此回调。
  • 支持版本:2.17.0 及以上。
  • 使用限制:无。

mediaDataPublisher:fileDataBegin

mediaDataPublisher:fileDataBegin
- (void)mediaDataPublisher:(ZegoMediaDataPublisher *)publisher fileDataBegin:(NSString *)path;
媒体推流器开始读取到了媒体文件数据的事件回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
publisherZegoMediaDataPublisher *回调的媒体推流器实例
pathNSString *当前打开的文件路径

详情

媒体推流器开始读取到数据的事件回调。

  • 通知时机:当媒体推流器刚开始从媒体文件中读取到了媒体数据时会触发此回调。
  • 支持版本:2.17.0 及以上。
  • 使用限制:无。

mediaDataPublisher:fileDataEnd

mediaDataPublisher:fileDataEnd
- (void)mediaDataPublisher:(ZegoMediaDataPublisher *)publisher fileDataEnd:(NSString *)path;
媒体推流器已完成一个文件推流的回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
publisherZegoMediaDataPublisher *回调的媒体推流器实例。
pathNSString *完成推流的文件的路径。

详情

媒体推流器已经完成一个文件推流。

  • 通知时机:当媒体推流器完成一个文件推流时会触发此回调。
  • 支持版本:3.14.0 及以上。
  • 使用限制:无。

ZegoMediaPlayer

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoMediaPlayerEventHandler>) handler;
设置媒体播放器的事件回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoMediaPlayerEventHandler>媒体播放器的事件回调

详情

监听媒体播放器的事件通知回调。

  • 业务场景:开发者可以根据相关事件回调进行播放器 UI 界面的处理。
  • 调用时机:创建 [ZegoMediaPlayer] 实例后。
  • 支持版本:2.1.0 及以上。
  • 使用限制:无。
  • 注意事项:调用此函数将覆盖上一次调用此函数设置的回调。

setVideoHandler:format:type:

setVideoHandler:format:type:
- (void)setVideoHandler:(nullable id<ZegoMediaPlayerVideoHandler>) handler format:(ZegoVideoFrameFormat) format type:(ZegoVideoBufferType) type;
设置媒体播放器的视频数据回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoMediaPlayerVideoHandler>媒体播放器的视频数据回调
formatZegoVideoFrameFormat视频数据的视频帧格式
typeZegoVideoBufferType视频数据的 Buffer 类型

详情

可以通过设置此回调将媒体播放器播放的媒体资源文件的视频数据抛出来。

  • 调用时机:创建 [ZegoMediaPlayer] 实例后。
  • 支持版本:2.1.0 及以上。
  • 使用限制:无。
  • 注意事项:当不再需要获取视频帧数据时请再次调用此函数将 handler 置空,以停止视频帧数据回调。

setAudioHandler:

setAudioHandler:
- (void)setAudioHandler:(nullable id<ZegoMediaPlayerAudioHandler>) handler;
设置媒体播放器的音频数据回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoMediaPlayerAudioHandler>媒体播放器的音频数据回调

详情

可以通过设置此回调将媒体播放器播放的媒体资源文件的音频数据抛出来。

  • 调用时机:创建 [ZegoMediaPlayer] 实例后。
  • 支持版本:2.1.0 及以上。
  • 使用限制:无。
  • 注意事项:当不再需要获取音频数据时请再次调用此函数将 handler 置空,以停止音频数据回调。

setBlockDataHandler:blockSize:

setBlockDataHandler:blockSize:
- (void)setBlockDataHandler:(nullable id<ZegoMediaPlayerBlockDataHandler>) handler blockSize:(unsigned int) blockSize;
设置媒体播放器的媒体资源块数据回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoMediaPlayerBlockDataHandler>媒体播放器的媒体资源块数据回调。
blockSizeunsigned int加密块数据的大小,OnBlockData 回调中的 bufferSize 为 blockSize 整数倍。

详情

可以通过设置此回调,监听并解密媒体资源块数据,用于播放用户自己的密文媒体资源。

  • 调用时机:创建 [ZegoMediaPlayer] 实例后,播放媒体资源之前。
  • 支持版本:3.4.0 及以上。
  • 使用限制:无。
  • 注意事项:当不再需要监听该回调进行数据解密时,再次调用此函数将 handler 置空。

loadResource:callback:

loadResource:callback:
- (void)loadResource:(NSString *) path callback:(nullable ZegoMediaPlayerLoadResourceCallback) callback;
加载本地或者网络媒体资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
pathNSString *本地资源路径或网络资源的 URL,不能传入 null 或 ""。Android 可通过 Uri 方式进行传参。
callbacknullable ZegoMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载媒体资源。

  • 业务场景:开发者可以将可传本地资源的绝对路径或者网络资源的 URL 传入进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 相关接口:也可通过 [loadResourceWithPosition] 或 [loadResourceFromMediaData] 函数加载资源。
  • 支持版本:1.3.4 及以上。
  • 注意事项:如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

loadResourceWithPosition:startPosition:callback:

loadResourceWithPosition:startPosition:callback:
- (void)loadResourceWithPosition:(NSString *) path startPosition:(long) startPosition callback:(nullable ZegoMediaPlayerLoadResourceCallback) callback;
加载本地或者网络媒体资源,并指定开始位置。
Declared in ZegoExpressDefines.h

参数

名称类型描述
pathNSString *本地资源路径或网络资源的 URL,不能传入 null 或 ""。Android 可通过 Uri 方式进行传参。
startPositionlong开始播放的进度。
callbacknullable ZegoMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载媒体资源,同时可指定开始播放的进度,单位毫秒。

  • 业务场景:开发者可以将可传本地资源的绝对路径或者网络资源的 URL 传入进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 相关接口:也可通过 [loadResource] 或 [loadResourceFromMediaData] 函数加载资源。
  • 支持版本:2.14.0 及以上。
  • 注意事项:1.当 startPosition 超过播放总时长,将从头开始播放。 2.如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

loadResourceFromMediaData:startPosition:callback:

loadResourceFromMediaData:startPosition:callback:
- (void)loadResourceFromMediaData:(NSData *) mediaData startPosition:(long) startPosition callback:(nullable ZegoMediaPlayerLoadResourceCallback) callback;
加载二进制的音频媒体资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
mediaDataNSData *二进制音频数据。
startPositionlong指定开始播放的进度,单位毫秒。
callbacknullable ZegoMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载二进制的音频数据。

  • 业务场景:开发者不希望将音频数据缓存本地,直接把音频二进制数据传给媒体播放器,直接加载并播放该音频。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 相关接口:也可通过 [loadResource] 或 [loadResourceWithPosition] 函数加载资源。
  • 支持版本:2.10.0 及以上。
  • 注意事项:1.当 startPosition 超过播放总时长,将从头开始播放。 2.如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

loadCopyrightedMusicResourceWithPosition:startPosition:callback:

loadCopyrightedMusicResourceWithPosition:startPosition:callback:
- (void)loadCopyrightedMusicResourceWithPosition:(NSString *) resourceID startPosition:(long) startPosition callback:(nullable ZegoMediaPlayerLoadResourceCallback) callback;
加载版权音乐资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceIDNSString *从版权音乐模块获取的资源ID。
startPositionlong开始播放的进度。
callbacknullable ZegoMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载版权音乐资源,同时可指定开始播放的进度,单位毫秒。

  • 业务场景:开发者可以将可传版权音乐的资源ID进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:2.14.0 及以上。
  • 注意事项:1.当 startPosition 超过播放总时长,将从头开始播放。 2.如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

loadResourceWithConfig:callback:

loadResourceWithConfig:callback:
- (void)loadResourceWithConfig:(ZegoMediaPlayerResource *) resource callback:(nullable ZegoMediaPlayerLoadResourceCallback) callback;
加载本地或者网络媒体资源,带配置参数。
Declared in ZegoExpressDefines.h

参数

名称类型描述
resourceZegoMediaPlayerResource *需要加载的多媒体资源。
callbacknullable ZegoMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载媒体资源。

  • 业务场景:开发者可以将可传本地资源的绝对路径或者网络资源的 URL 传入进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关接口:支持通过 [loadResourceWithPosition] 或 [loadResourceFromMediaData] 接口加载资源。
  • 支持版本:3.3.0 及以上。
  • 注意事项:如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

start

start
- (void)start;
开始播放
Declared in ZegoExpressDefines.h

必须在加载资源完成后才能调用

stop

stop
- (void)stop;
停止播放
Declared in ZegoExpressDefines.h

pause

pause
- (void)pause;
暂停播放
Declared in ZegoExpressDefines.h

resume

resume
- (void)resume;
恢复播放
Declared in ZegoExpressDefines.h

seekTo:callback:

seekTo:callback:
- (void)seekTo:(unsigned long long) millisecond callback:(nullable ZegoMediaPlayerSeekToCallback) callback;
设置指定的播放进度
Declared in ZegoExpressDefines.h

参数

名称类型描述
millisecondunsigned long long指定的播放进度的时间点
callbacknullable ZegoMediaPlayerSeekToCallback设置指定的播放进度的结果通知

详情

单位为毫秒

返回值

设置指定的播放进度的结果通知

enableRepeat:

enableRepeat:
- (void)enableRepeat:(BOOL) enable;
是否重复播放
Declared in ZegoExpressDefines.h
名称类型描述
enableBOOL重复播放标记,默认为 false

setPlaySpeed:

setPlaySpeed:
- (void)setPlaySpeed:(float) speed;
设置播放倍速。
Declared in ZegoExpressDefines.h

参数

名称类型描述
speedfloat播放速度。默认为 1.0。
2.12.0 至 3.15.1 版本:范围为 0.5 ~ 4.0。
3.16.0 及以上版本:范围为 0.3 ~ 4.0。

详情

设置播放器的播放倍速。

  • 调用时机:必须在加载资源完成后才能调用。
  • 相关接口:可通过 [loadResource] 函数加载资源。
  • 支持版本:2.12.0 及以上。
  • 使用限制:无。

enableAux:

enableAux:
- (void)enableAux:(BOOL) enable;
是否将播放器的声音混入正在推的流中
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否混音标记,默认为 false

详情

此接口仅会将媒体播放器声音混到主通道中

muteLocal:

muteLocal:
- (void)muteLocal:(BOOL) mute;
是否静默本地播放
Declared in ZegoExpressDefines.h

参数

名称类型描述
muteBOOL本地静音标记,默认为 false。

详情

若开启了混音入流则推的流中仍然有声音,默认为 false。

setPlayerCanvas:

setPlayerCanvas:
- (void)setPlayerCanvas:(nullable ZegoCanvas *) canvas;
设置播放器播放视频的视图
Declared in ZegoExpressDefines.h
名称类型描述
canvasnullable ZegoCanvas *视频渲染的画布对象

setVolume:

setVolume:
- (void)setVolume:(int) volume;
设置播放器音量,会同时设置本地播放音量和推流音量
Declared in ZegoExpressDefines.h
名称类型描述
volumeint范围为 0 ~ 200,默认为 60。

setPlayVolume:

setPlayVolume:
- (void)setPlayVolume:(int) volume;
设置播放器本地播放音量
Declared in ZegoExpressDefines.h
名称类型描述
volumeint范围为 0 ~ 200,默认为 60。

setPublishVolume:

setPublishVolume:
- (void)setPublishVolume:(int) volume;
设置播放器推流音量
Declared in ZegoExpressDefines.h
名称类型描述
volumeint范围为 0 ~ 200,默认为 60。

setProgressInterval:

setProgressInterval:
- (void)setProgressInterval:(unsigned long long) millisecond;
设置播放进度回调间隔
Declared in ZegoExpressDefines.h

参数

名称类型描述
millisecondunsigned long long播放进度回调间隔时间,单位为毫秒

详情

可通过此函数控制 [onMediaPlayerPlayingProgress] 的回调频率,当设置回调间隔为 0 时,停止回调。默认回调间隔为 1s 回调不会严格按照设定的回调间隔值返回,而是以处理音频帧或者视频帧的频率来判断是否需要回调

playVolume

playVolume
- (int)playVolume;
获取当前媒体播放器本地播放的音量,范围为 0 ~ 200,默认值为 60
Declared in ZegoExpressDefines.h

当前音量

publishVolume

publishVolume
- (int)publishVolume;
获取当前媒体播放器推流的音量,范围为 0 ~ 200,默认值为 60
Declared in ZegoExpressDefines.h

当前音量

totalDuration

totalDuration
- (unsigned long long)totalDuration;
获取媒体资源的总进度
Declared in ZegoExpressDefines.h

必须在加载资源完成后才能调用,否则返回值为 0

单位为毫秒

currentProgress

currentProgress
- (unsigned long long)currentProgress;
获取当前播放进度
Declared in ZegoExpressDefines.h

必须在加载资源完成后才能调用,否则返回值为 0

当前播放进度

currentRenderingProgress

currentRenderingProgress
- (unsigned long long)currentRenderingProgress;
获取当前渲染进度
Declared in ZegoExpressDefines.h

必须在加载资源完成后才能调用,否则返回值为 0

当前渲染进度

audioTrackCount

audioTrackCount
- (unsigned int)audioTrackCount;
获取播放文件的音轨个数
Declared in ZegoExpressDefines.h

音轨个数

setAudioTrackIndex:

setAudioTrackIndex:
- (void)setAudioTrackIndex:(unsigned int) index;
设置播放文件的音轨
Declared in ZegoExpressDefines.h
名称类型描述
indexunsigned int音轨序号,可以通过 [getAudioTrackCount] 获取音轨个数

setAudioTrackMode:

setAudioTrackMode:
- (void)setAudioTrackMode:(ZegoMediaPlayerAudioTrackMode) mode;
设置播放器的音轨模式
Declared in ZegoExpressDefines.h

参数

名称类型描述
modeZegoMediaPlayerAudioTrackMode音轨模式。

详情

设置播放器的音轨模式。

  • 业务场景:在实时合唱(KTV)场景下,调用该接口开启多音轨模式后,可以调用接口 [setAudioTrackIndex] 指定需要播放的原唱音轨,调用接口 [setAudioTrackPublishIndex] 指定需要推流的伴奏音轨。
  • 调用时机:在开始播放 [start] 前调用才生效。
  • 相关接口:可通过 [setAudioTrackIndex] 指定媒体文件的播放音轨,通过 [setAudioTrackPublishIndex] 指定媒体文件的推流音轨。
  • 支持版本:3.1.0 及以上。
  • 注意事项:当开启多音轨模式时会增加对硬件设备的资源消耗。

setAudioTrackPublishIndex:

setAudioTrackPublishIndex:
- (void)setAudioTrackPublishIndex:(unsigned int) index;
设置媒体文件需要推流的音轨
Declared in ZegoExpressDefines.h

参数

名称类型描述
indexunsigned int音轨序号,可以通过 [getAudioTrackCount] 获取音轨个数

详情

设置媒体文件需要推流的音轨。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关接口:可以通过 [getAudioTrackCount] 获取音轨个数。
  • 支持版本:3.1.0 及以上。
  • 注意事项:需要调用接口 [setAudioTrackMode] 开启多音轨模式后该调用才生效。

enableVoiceChanger:param:audioChannel:

enableVoiceChanger:param:audioChannel:
- (void)enableVoiceChanger:(BOOL) enable param:(ZegoVoiceChangerParam *) param audioChannel:(ZegoMediaPlayerAudioChannel) audioChannel;
开启变声,设置变声的具体参数。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启变声,true-开启,false-关闭,默认 false。
paramZegoVoiceChangerParam *变声参数
audioChannelZegoMediaPlayerAudioChannel要进行变声的声道

详情

开启变声,设置变声的具体参数。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 支持版本:3.15.0 及以上。

currentState

currentState
- (ZegoMediaPlayerState) currentState;
获取当前播放状态
Declared in ZegoExpressDefines.h

当前播放器状态

index

index
- (NSNumber *)index;
获取媒体播放器的序号
Declared in ZegoExpressDefines.h

获取媒体播放器索引。

  • 调用时机:在 [createMediaPlayer] 之后可调用。
  • 使用限制:无。

媒体播放器索引。

takeSnapshot:

takeSnapshot:
- (void)takeSnapshot:(ZegoMediaPlayerTakeSnapshotCallback) callback;
对媒体播放器当前播放画面进行截图
Declared in ZegoExpressDefines.h

参数

名称类型描述
callbackZegoMediaPlayerTakeSnapshotCallback媒体播放器播放画面截图的回调

详情

只有在调用 [setPlayerCanvas] 设置了显示控件,以及播放状态的情况下,才能正常截图

enableAccurateSeek:config:

enableAccurateSeek:config:
- (void)enableAccurateSeek:(BOOL) enable config:(ZegoAccurateSeekConfig *) config;
开启精准 seek 并设置相关属性
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启精准 seek
configZegoAccurateSeekConfig *精准 seek 的属性设置,只有 enable 为 true 时有效。

详情

普通 seek 指定的时间戳可能是非 I 帧,进而返回指定时间戳前后的 I 帧,不是很精确。而精准 seek 当指定的时间戳不是 I 帧时,会通过指定时间戳前后的 I 帧去解指定时间戳的那帧数据。

  • 业务场景:适用于用户需要精准 seek 到指定时间戳的场景。
  • 调用时机:必须在加载资源前调用设置,在整个媒体播放器的生命周期内生效。
  • 支持版本:2.4.0 及以上。

setNetWorkResourceMaxCache:size:

setNetWorkResourceMaxCache:size:
- (void)setNetWorkResourceMaxCache:(unsigned int) time size:(unsigned int) size;
设置网络素材最大的缓存时长和缓存数据大小
Declared in ZegoExpressDefines.h

参数

名称类型描述
timeunsigned int缓存最大时长, 单位 ms, SDK 内部默认为5000;有效值为大于等于 2000;如果填 0, 表示不限制。
sizeunsigned int缓存最大尺寸, 单位 byte,SDK内部默认size为1510241024 byte;有效值为大于等于 5000000, 如果填 0, 表示不限制。

详情

必须在加载资源前调用设置,在整个媒体播放器的生命周期内生效。 time和size不允许同时为 0.。SDK 内部默认time为5000, size为1510241024 byte。time和size中某一个指标先达到设置的值,就会停止缓存。

getNetWorkResourceCache

getNetWorkResourceCache
- (ZegoNetWorkResourceCache *)getNetWorkResourceCache;
获取当前网络素材缓存队列的缓存数据可播放的时长和缓存数据大小
Declared in ZegoExpressDefines.h

返回当前缓存的信息,包括数据可播放的时长和缓存数据大小

setNetWorkBufferThreshold:

setNetWorkBufferThreshold:
- (void)setNetWorkBufferThreshold:(unsigned int) threshold;
通过该接口设置媒体播放器重新恢复播放需要达到的缓存阈值,SDK 默认值是 5000ms,有效值为大于等于1000ms
Declared in ZegoExpressDefines.h

参数

名称类型描述
thresholdunsigned int重新恢复播放需要达到的阈值, 单位 ms。

详情

必须在加载资源前调用设置,在整个媒体播放器的生命周期内生效。 当网络状态较差且媒体播放器将缓存的网络资源都播放完时,就会停止播放,并通过回调接口onMediaPlayerNetworkEventZegoMediaPlayerNetworkEvent.BUFFER_BEGIN状态通知用户,告知正在重新缓存网络资源。 只有当缓存的网络资源大于设置的阈值的时候,媒体播放器才会在原来暂停的位置自动恢复播放,并通过回调接口onMediaPlayerNetworkEventZegoMediaPlayerNetworkEvent.BUFFER_ENDED通知用户,告知用户缓存网络资源已经达到阈值并恢复了播放。

enableSoundLevelMonitor:millisecond:

enableSoundLevelMonitor:millisecond:
- (void)enableSoundLevelMonitor:(BOOL) enable millisecond:(unsigned int) millisecond;
是否开启声浪监听。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启监听,true 开启,false 关闭。
millisecondunsigned int声浪的监听时间周期,单位为毫秒,取值范围 [100, 3000]。

详情

开启或关闭声浪监听。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关回调:开启后可以通过 [onMediaPlayerSoundLevelUpdate] 回调监听声浪更新。
  • 支持版本:2.15.0 及以上。
  • 使用限制:无。

enableFrequencySpectrumMonitor:millisecond:

enableFrequencySpectrumMonitor:millisecond:
- (void)enableFrequencySpectrumMonitor:(BOOL) enable millisecond:(unsigned int) millisecond;
是否开启频谱监听。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启监听,true 开启,false 关闭。
millisecondunsigned int频谱的监听时间周期,单位为毫秒,取值范围 [10, 3000]。注意在 3.19.0 及更老版本上,取值范围为 [100, 3000]

详情

开启或关闭频谱监听。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关回调:开启后可以通过 [onMediaPlayerFrequencySpectrumUpdate] 回调监听声浪更新。
  • 支持版本:2.15.0 及以上。
  • 使用限制:无。

setActiveAudioChannel:

setActiveAudioChannel:
- (void)setActiveAudioChannel:(ZegoMediaPlayerAudioChannel) audioChannel;
设置播放声道。
Declared in ZegoExpressDefines.h

参数

名称类型描述
audioChannelZegoMediaPlayerAudioChannel播放声道,默认全部声道。

详情

设置播放声道。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 支持版本:2.20.0 及以上。
  • 使用限制:无。

clearView

clearView
- (void)clearView;
清除播放控件播放结束后, 在控件上保留的最后一帧画面。
Declared in ZegoExpressDefines.h

清除播放控件播放结束后, 在控件上保留的最后一帧画面。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 支持版本:2.20.0 及以上。
  • 使用限制:只有媒体播放器结束播放该接口调用才会生效。

getMediaInfo

getMediaInfo
- (ZegoMediaPlayerMediaInfo *)getMediaInfo;
获取媒体文件视频分辨率等媒体信息。
Declared in ZegoExpressDefines.h

获取媒体文件视频分辨率等媒体信息。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 支持版本:3.6.0 及以上。
  • 使用限制:无。

updatePosition:

updatePosition:
- (void)updatePosition:(const float[_Nonnull 3]) position;
更新媒体播放器(音频源)位置。
Declared in ZegoExpressDefines.h

参数

名称类型描述
positionconst float[_Nonnull 3]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组。

详情

更新媒体播放器(音频源)位置。。

  • 业务场景:媒体播放器也需要有 3D 空间音效。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.6.0 及以上。
  • 使用限制:此接口需要与 RangeAudio/RangeScene 模块配合使用,RangeAudio/RangeScene 模块开启 3D 音效后,此接口才能调用成功。

setHttpHeader:

setHttpHeader:
- (void)setHttpHeader:(NSDictionary<NSString *, NSString *> *) headers;
设置 http 头信息。
Declared in ZegoExpressDefines.h

参数

名称类型描述
headersNSDictionary<NSString *, NSString *> *头信息。

详情

调用该函数设置 http 网络资源的http headers。

  • 业务场景:当网络资源需要设置特殊的头信息时可以配置。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.8.0 及以上。
  • 使用限制:在加载对应的网络资源之前调用。

setPlayMediaStreamType:

setPlayMediaStreamType:
- (void)setPlayMediaStreamType:(ZegoMediaStreamType) streamType;
设置播放的媒体流类型。
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamTypeZegoMediaStreamType流类型。

详情

配置播放的媒体流类型,可以仅播放视频流或者音频流,在播放器生命周期内一直生效。

  • 业务场景:当仅需要播放视频流或者音频流时。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.10.0 及以上。
  • 注意事项:播放时改变媒体流类型,将在下一次播放时生效。

enableLiveAudioEffect:mode:

enableLiveAudioEffect:mode:
- (void)enableLiveAudioEffect:(BOOL) enable mode:(ZegoLiveAudioEffectMode) mode;
开启现场音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启现场音效。
modeZegoLiveAudioEffectMode现场音效模式。

详情

开启现场音效后,空间感增强、乐器声音增强突出,不会增加延迟。

  • 业务场景:一般用于语聊房、K 歌场景下,增强伴奏的现场音效。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.10.0 及以上。
  • 注意事项:为了提升现场音效的体验,我们建议配置双声道编码。开发者可以通过使用 [setAudioCaptureStereoMode] 方法来实现此配置。如果不进行双声道编码配置,某些歌曲的效果可能会显著降低,因为在合成单声道时,左右声道的效果可能会相互抵消,导致效果不明显。

enableLocalCache:cacheDir:

enableLocalCache:cacheDir:
- (void)enableLocalCache:(BOOL) enable cacheDir:(NSString *) cacheDir;
开启本地缓存 http/https 网络资源。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启本地缓存。
cacheDirNSString *缓存目录。如果留空会使用 SDK 内部指定的目录。

详情

当播放 http/https 网络资源时,开启本地缓存后,会将网络资源保存到本地,并通过 [onMediaPlayerLocalCache] 将缓存信息回调出来。

  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。在 [loadResource] 之后或者播放过程中调用,会在下一次播放生效。
  • 支持版本:3.12.0 及以上。
  • 注意事项:只支持 http/https 单文件类型网络资源,如果播放过程中有 [seekTo] 操作,缓存会失败。

enableViewMirror:

enableViewMirror:
- (void)enableViewMirror:(BOOL) enable;
开启画面镜像。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启画面镜像。

详情

开启画面镜像。

  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.14.0 及以上。

getPlaybackStatistics

getPlaybackStatistics
- (ZegoMediaPlayerStatisticsInfo *)getPlaybackStatistics;
获取播放统计信息。
Declared in ZegoExpressDefines.h

获取当前播放统计信息,监控播放器解码和渲染是否发生异常。

  • 业务场景:一般用于云播放器场景。
  • 调用时机:在 [loadResource] 回调成功之后调用。
  • 支持版本:3.12.0 及以上。

setVoiceChangerParam:audioChannel:

setVoiceChangerParam:audioChannel:
deprecated
- (void)setVoiceChangerParam:(ZegoVoiceChangerParam *) param audioChannel:(ZegoMediaPlayerAudioChannel) audioChannel;
【已废弃】设置变声的具体参数
Declared in ZegoExpressDefines.h
名称类型描述
paramZegoVoiceChangerParam *变声参数
audioChannelZegoMediaPlayerAudioChannel要进行变声的声道
已废弃
此函数在 3.15.0 版本及以上已废弃,请使用 [enableVoiceChanger] 函数代替。

ZegoMediaPlayerBlockDataHandler

Declared in ZegoExpressEventHandler.h

方法

mediaPlayer:blockBegin

mediaPlayer:blockBegin
- (void)mediaPlayer:(ZegoMediaPlayer *)mediaPlayer blockBegin:(NSString *)path;
播放器开始抛出媒体资源块数据的回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
mediaPlayerZegoMediaPlayer *回调的播放器实例。
pathNSString *媒体资源的路径。

详情

播放器开始抛出媒体资源块数据的回调。

  • 通知时机:媒体播放器开始播放时会产生此回调。
  • 支持版本:3.4.0 及以上。
  • 使用限制:播放版权音乐时,该回调会被默认禁用,若有需要,请联系 ZEGO 技术支持。
  • 注意事项:调用 [setBlockDataHandler] 接口设置后该回调才生效。

mediaPlayer:blockData:bufferSize

mediaPlayer:blockData:bufferSize
- (int)mediaPlayer:(ZegoMediaPlayer *)mediaPlayer blockData:(unsigned char *const)buffer bufferSize:(unsigned int)bufferSize;
播放器抛出媒体资源块数据的回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
mediaPlayerZegoMediaPlayer *回调的播放器实例。
bufferunsigned char *const媒体资源块数据。
bufferSizeunsigned int媒体资源块数据的长度。

详情

播放器抛出媒体资源块数据的回调。

  • 通知时机:收到 [onBlockBegin] 回调后会产生此回调。
  • 支持版本:3.4.0 及以上。
  • 使用限制:播放版权音乐时,该回调会被默认禁用,若有需要,请联系 ZEGO 技术支持。
  • 注意事项:调用 [setBlockDataHandler] 接口设置后该回调才生效。解密前后的数据大小应保持一致。

返回值

buffer 的大小, 失败返回 -1。

ZegoMediaPlayerMediaInfo

媒体文件媒体信息。

详情

媒体文件视频分辨率等媒体信息。

Declared in ZegoExpressDefines.h

属性

width

width
nonatomic, assign int width

视频分辨率高度。

height

height
nonatomic, assign int height

视频分辨率高度。

frameRate

frameRate
nonatomic, assign int frameRate

视频帧率。

ZegoMediaPlayerResource

用于指定播放器的多媒体资源。

详情

用于在加载多媒体资源时,配置加载参数。

Declared in ZegoExpressDefines.h

属性

loadType

loadType
nonatomic, assign ZegoMultimediaLoadType loadType

用于指定多媒体资源的加载类型。

startPosition

startPosition
nonatomic, assign long startPosition

开始播放的进度。

alphaLayout

alphaLayout
nonatomic, assign ZegoAlphaLayoutType alphaLayout

如果指定的资源带透明特效,需要指定 alpha 数据的布局位置。

filePath

filePath
nonatomic, copy NSString * filePath

文件资源的路径。本地资源路径或网络资源的 URL,不能传入 nil 或 ""。Android 可通过 Uri 方式进行传参。

memory

memory
nonatomic, strong, nullable NSData * memory

二进制数据内存。

memoryLength

memoryLength
nonatomic, assign int memoryLength

二进制数据内存长度。

resourceID

resourceID
nonatomic, copy NSString * resourceID

从版权音乐模块获取的资源 ID。

onlineResourceCachePath

onlineResourceCachePath
nonatomic, copy NSString * onlineResourceCachePath

在线资源缓存路径,utf8 编码格式。

maxCachePendingLength

maxCachePendingLength
nonatomic, assign long long maxCachePendingLength

在线资源最大的缓存待使用长度,单位 byte,最小设置 10M(10 * 1024 * 1024),默认0-不做限制,尝试缓存整个文件。

ZegoMediaPlayerStatisticsInfo

播放器播放统计信息。

详情

播放器播放统计信息。

Declared in ZegoExpressDefines.h

属性

videoSourceFps

videoSourceFps
nonatomic, assign double videoSourceFps

视频读取帧率。

videoDecodeFps

videoDecodeFps
nonatomic, assign double videoDecodeFps

视频解码帧率。

videoRenderFps

videoRenderFps
nonatomic, assign double videoRenderFps

视频渲染帧率。

audioSourceFps

audioSourceFps
nonatomic, assign double audioSourceFps

音频读取帧率。

audioDecodeFps

audioDecodeFps
nonatomic, assign double audioDecodeFps

音频解码帧率。

audioRenderFps

audioRenderFps
nonatomic, assign double audioRenderFps

音频渲染帧率。

ZegoMediaSideInfo

SEI 回调信息

Declared in ZegoExpressDefines.h

属性

streamID

streamID
nonatomic, copy NSString * streamID

流 ID

SEIData

SEIData
nonatomic, strong NSData * SEIData

SEI 数据

timestampNs

timestampNs
nonatomic, assign long long timestampNs

时间戳

moduleType

moduleType
int moduleType

SEI 来源模块,请联系 ZEGO 技术支持。

ZegoMixerAudioConfig

混流音频配置

详情

配置混流任务的音频码率、声道数、音频编码

Declared in ZegoExpressDefines.h

属性

bitrate

bitrate
nonatomic, assign int bitrate

音频码率,单位为 kbps,默认为 48 kbps,开始混流任务后不能修改

channel

channel
nonatomic, assign ZegoAudioChannel channel

音频声道,默认为 Mono 单声道

codecID

codecID
nonatomic, assign ZegoAudioCodecID codecID

编码 ID,默认为 ZegoAudioCodecIDDefault

mixMode

mixMode
nonatomic, assign ZegoAudioMixMode mixMode

多路音频流混音模式。若 [ZegoAudioMixMode] 选择为 [Focused],SDK 将会选择 4 路已设置 [isAudioFocus] 的输入流作为焦点语音突出,若未选择或选择少于 4 路,则会自动补齐 4 路。在 web 平台,此属性不生效。

方法

defaultConfig

defaultConfig
- (void)+ (instancetype)defaultConfig;
创建默认混流音频配置(48 kbps, ZegoAudioCodecIDDefault)
Declared in ZegoExpressDefines.h

ZegoMixerAudioConfig 实例

ZegoMixerImageInfo

设置混流中单条输入流的图片信息。

详情

为单条输入流的内容设置图片,用于替代视频,即当使用图片时不显示视频。图片复用的 [ZegoMixerInput] 中的 layout 布局。

  • 业务场景:开发者在视频连麦过程中,需要暂时关闭摄像头显示图像,或音频连麦时,显示图片等。
  • 支持版本:2.19.0 及以上。
  • 使用限制:图片大小限制在 1M 以内。

Declared in ZegoExpressDefines.h

属性

url

url
nonatomic, copy NSString * url

图片路径,不为空显示图片,否则显示视频。支持 JPG 和 PNG 格式。支持 2 种使用方式:1. URI:将图片提供给 ZEGO 技术支持进行配置,配置完成后会提供图片 URI,例如:preset-id://xxx.jpg。2. URL:仅支持 HTTP 协议。

displayMode

displayMode
nonatomic, assign int displayMode

图片显示模式。0:默认值。当 url 不为空时,覆盖视频内容,显示图片。1:根据摄像头状态,判断是否显示图片。摄像头关闭,显示图片。摄像头打开,显示视频内容(无需手动清空 url 参数)。2:根据输入流是否有视频数据,判断是否显示图片。输入流连续3秒无视频数据时,显示图片。判断无视频数据时长默认为3秒,若需额外配置请联系 ZEGO 技术支持。输入流有视频数据时,显示视频内容。

方法

new

new
+ (instancetype)new NS_UNAVAILABLE;
此函数不可用。
Declared in ZegoExpressDefines.h

请使用 [initWithURL:]

init

init
- (instancetype)init NS_UNAVAILABLE;
此函数不可用。
Declared in ZegoExpressDefines.h

请使用 [initWithURL:]

initWithURL

initWithURL
- (instancetype)initWithURL:(NSString *)url;
通过 url 构造一个图片信息对象。
Declared in ZegoExpressDefines.h

ZegoMixerImageInfo 对象。

initWithURLAndDisplayMode:displayMode

initWithURLAndDisplayMode:displayMode
- (instancetype)initWithURLAndDisplayMode:(NSString *)url displayMode:(int)displayMode;
通过 url 和 displayMode 构造一个图片信息对象。
Declared in ZegoExpressDefines.h

ZegoMixerImageInfo 对象。

ZegoMixerInput

混流输入

详情

配置混流输入的流 ID、输入类型、流的布局

Declared in ZegoExpressDefines.h

属性

streamID

streamID
nonatomic, copy NSString * streamID
  • 注意事项:不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '-', '_'。

contentType

contentType
nonatomic, assign ZegoMixerInputContentType contentType

混流内容类型

layout

layout
nonatomic, assign CGRect layout

流的布局。当混入的流为音频流时(即 ContentType 参数设置为音频混流类型),开发者无需对该字段赋值,使用 SDK 默认的即可。

soundLevelID

soundLevelID
nonatomic, assign unsigned int soundLevelID

当混流任务开启了声浪回调时,需要为每条输入流指定唯一的 soundLevelID

volume

volume
nonatomic, assign unsigned int volume

输入流音量, 有效范围 [0, 200], 默认是 100。在 web 平台,此属性不生效。

isAudioFocus

isAudioFocus
nonatomic, assign BOOL isAudioFocus

当前输入流是否开启焦点语音,开启了会突出此路流的声音。在 web 平台,此属性不生效。

audioDirection

audioDirection
nonatomic, assign int audioDirection

声音的朝向。有效的朝向是 [0, 360]。-1 表示关闭该功能。默认是 -1。在 web 平台,此属性不生效。

label

label
nonatomic, strong ZegoLabelInfo * label

文字水印。

renderMode

renderMode
nonatomic, assign ZegoMixRenderMode renderMode

视频画面渲染模式。

imageInfo

imageInfo
nonatomic, strong ZegoMixerImageInfo * imageInfo

用户图片信息。

cornerRadius

cornerRadius
nonatomic, assign unsigned int cornerRadius

视频画面圆角半径,单位 px。

  • 是否必填:否。
  • 取值范围:不超过 [layout] 参数设置的视频画面的宽高。
  • 默认值:0。

advancedConfig

advancedConfig
nonatomic, strong, nullable NSDictionary<NSString *, NSString *> * advancedConfig

设置高级配置。请联系 ZEGO 技术支持。在 web 平台,此属性不生效。

方法

initWithStreamID:contentType:layout

initWithStreamID:contentType:layout
- (instancetype)initWithStreamID:(NSString *)streamID contentType:(ZegoMixerInputContentType)contentType layout:(CGRect)layout;
创建混流输入对象
Declared in ZegoExpressDefines.h

ZegoMixerInput 实例

initWithStreamID:contentType:layout:soundLevelID

initWithStreamID:contentType:layout:soundLevelID
- (instancetype)initWithStreamID:(NSString *)streamID contentType:(ZegoMixerInputContentType)contentType layout:(CGRect)layout soundLevelID:(unsigned int)soundLevelID;
创建混流输入对象
Declared in ZegoExpressDefines.h

ZegoMixerInput 实例

ZegoMixerOutput

混流输出对象,目前一个混流任务最多只支持 4 路不同分辨率的视频流。

详情

配置混流输出的目标 URL 或流 ID

Declared in ZegoExpressDefines.h

属性

target

target
nonatomic, copy NSString * target

混流输出目标,URL 或者流 ID,若为 URL 格式 目前只支持 RTMP URL 格式:rtmp://xxxxxxxx, 且不能传入两个相同的混流输出的地址。

videoConfig

videoConfig
nonatomic, strong ZegoMixerOutputVideoConfig * videoConfig

混流输出视频设置。在 web 平台,此属性不生效。

targetRoom

targetRoom
nonatomic, strong ZegoMixerOutputRoomInfo * targetRoom

指定输出流的房间信息。

方法

initWithTarget

initWithTarget
- (instancetype)initWithTarget:(NSString *)target;
创建混流输出对象
Declared in ZegoExpressDefines.h

ZegoMixerOutput 实例

setVideoConfig

setVideoConfig
- (void)setVideoConfig:(ZegoMixerOutputVideoConfig *)videoConfig;
设置混流输出的视频配置
Declared in ZegoExpressDefines.h

setTargetRoom

setTargetRoom
- (void)setTargetRoom:(ZegoMixerOutputRoomInfo *)targetRoom;
设置混流输出的房间信息
Declared in ZegoExpressDefines.h

ZegoMixerOutputRoomInfo

混流中输出流的房间信息。

详情

为单条输出流设置房间信息;能将混流输出流增加到指定房间,让房间内的用户接收到房间内流增加的通知。

  • 业务场景:手动混流场景,比如多人连麦直播。
  • 支持版本:3.18.0 及以上。
  • 使用限制:不支持混流过程中动态更新。

Declared in ZegoExpressDefines.h

属性

roomID

roomID
nonatomic, copy NSString * roomID

指定输出流的房间ID。需要保证开始混流时房间已存在。

userID

userID
nonatomic, copy NSString * userID

指定输出流的用户ID。虚拟用户id,仅用于流新增通知,不会触发 [onRoomUserUpdate]。不建议使用与房间内实际用户相同的 userID,避免与 SDK 的流新增行为产生冲突。

方法

new

new
+ (instancetype)new NS_UNAVAILABLE;
此函数不可用。
Declared in ZegoExpressDefines.h

请使用 [initWithRoomID:userID:]

init

init
- (instancetype)init NS_UNAVAILABLE;
此函数不可用。
Declared in ZegoExpressDefines.h

请使用 [initWithRoomID:userID:]

initWithRoomID:userID

initWithRoomID:userID
- (instancetype)initWithRoomID:(NSString *)roomID userID:(NSString *)userID;
通过 roomID 和 userID 构造一个混流中输出流的房间信息。
Declared in ZegoExpressDefines.h

ZegoMixerOutputRoomInfo 对象。

ZegoMixerOutputVideoConfig

混流输出视频配置。

详情

配置混流输出的视频参数,编码格式、码率。

  • 业务场景:手动混流场景,比如多人连麦直播。

Declared in ZegoExpressDefines.h

属性

videoCodecID

videoCodecID
nonatomic, assign ZegoVideoCodecID videoCodecID

混流输出视频编码格式,支持 H.264, H.265 编码。

bitrate

bitrate
nonatomic, assign int bitrate

混流输出视频码率,单位为 kbps。默认值为 [ZegoMixerVideoConfig] 中配置的 bitrate。

encodeProfile

encodeProfile
nonatomic, assign ZegoEncodeProfile encodeProfile

混流输出视频编码规格。默认值为 [ZegoEncodeProfileDefault]。

encodeLatency

encodeLatency
nonatomic, assign int encodeLatency

混流输出视频编码延时,有效值范围 [0, 2000], 单位毫秒。默认值为 0。

enableLowBitrateHD

enableLowBitrateHD
BOOL enableLowBitrateHD

开启高清低码,默认值为 false

方法

configWithCodecID:bitrate

configWithCodecID:bitrate
- (void)configWithCodecID:(ZegoVideoCodecID)codecID bitrate:(int)bitrate;
设置混流输出视频配。
Declared in ZegoExpressDefines.h

configWithCodecID:bitrate:encodeProfile:encodeLatency

configWithCodecID:bitrate:encodeProfile:encodeLatency
- (void)configWithCodecID:(ZegoVideoCodecID)codecID bitrate:(int)bitrate encodeProfile:(ZegoEncodeProfile)profile encodeLatency:(int)latency;
设置混流输出视频配。
Declared in ZegoExpressDefines.h

configWithCodecID:bitrate:encodeProfile:encodeLatency:enableLowBitrateHD

configWithCodecID:bitrate:encodeProfile:encodeLatency:enableLowBitrateHD
- (void)configWithCodecID:(ZegoVideoCodecID)codecID bitrate:(int)bitrate encodeProfile:(ZegoEncodeProfile)profile encodeLatency:(int)latency enableLowBitrateHD:(BOOL)enableLowBitrateHD;
设置混流输出视频配。
Declared in ZegoExpressDefines.h

ZegoMixerTask

混流任务对象

详情

本类为混流任务的配置类,当向 ZEGO RTC 服务器发起混流任务的请求时,需要这个混流任务的配置。 本类即描述这次混流任务的详细配置信息。

Declared in ZegoExpressDefines.h

属性

taskID

taskID
nonatomic, copy, readonly NSString * taskID

混流任务 ID,长度不超过256的字符串。不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。

方法

new

new
+ (instancetype)new NS_UNAVAILABLE;
此函数不可用
Declared in ZegoExpressDefines.h

请使用 [initWithTaskID:]

init

init
- (instancetype)init NS_UNAVAILABLE;
此函数不可用
Declared in ZegoExpressDefines.h

请使用 [initWithTaskID:]

initWithTaskID

initWithTaskID
- (instancetype)initWithTaskID:(NSString *)taskID;
通过 TaskID 构造一个混流任务对象
Declared in ZegoExpressDefines.h

ZegoMixerTask 实例

setAudioConfig

setAudioConfig
- (void)setAudioConfig:(ZegoMixerAudioConfig *)audioConfig;
设置混流任务对象的音频配置
Declared in ZegoExpressDefines.h

setVideoConfig

setVideoConfig
- (void)setVideoConfig:(ZegoMixerVideoConfig *)videoConfig;
设置混流任务对象的视频配置
Declared in ZegoExpressDefines.h

setInputList

setInputList
- (void)setInputList:(NSArray<ZegoMixerInput *> *)inputList;
设置混流任务对象的输入流列表
Declared in ZegoExpressDefines.h

setOutputList

setOutputList
- (void)setOutputList:(NSArray<ZegoMixerOutput *> *)outputList;
设置混流任务对象的输出列表
Declared in ZegoExpressDefines.h

setWatermark

setWatermark
- (void)setWatermark:(ZegoWatermark *)watermark;
设置混流任务对象的水印
Declared in ZegoExpressDefines.h

setWhiteboard

setWhiteboard
- (void)setWhiteboard:(ZegoMixerWhiteboard *)whiteboard;
设置混流任务对象的白板信息
Declared in ZegoExpressDefines.h

setBackgroundColor

setBackgroundColor
- (void)setBackgroundColor:(int)backgroundColor;
设置混流任务对象的背景色,颜色值对应 RGBA 为 0xRRGGBBAA,目前不支持设置背景色的透明度,0xRRGGBBAA 中的 AA 为 00 即可。例如:选取 RGB 为 \#87CEFA 作为背景色,此参数传 0x87CEFA00。
Declared in ZegoExpressDefines.h

setBackgroundImageURL

setBackgroundImageURL
- (void)setBackgroundImageURL:(NSString *)backgroundImageURL;
设置混流任务对象的背景图片
Declared in ZegoExpressDefines.h

enableSoundLevel

enableSoundLevel
- (void)enableSoundLevel:(BOOL)enable;
是否开启混流的声浪回调通知,开启后拉混流时可通过 [onMixerSoundLevelUpdate] 回调收到每条单流的声浪信息
Declared in ZegoExpressDefines.h

setStreamAlignmentMode

setStreamAlignmentMode
- (void)setStreamAlignmentMode:(ZegoStreamAlignmentMode)mode;
设置混流对齐模式
Declared in ZegoExpressDefines.h

setUserData:length

setUserData:length
- (void)setUserData:(NSData *)data length:(int)length;
设置用户自定义数据,长度不超过 1000。注意 SDK 只读取长度为 length 的数据,如果 length 大于 data 实际长度,则 SDK 按照 data 实际长度读取数据
Declared in ZegoExpressDefines.h

setAdvancedConfig

setAdvancedConfig
- (void)setAdvancedConfig:(NSDictionary<NSString *, NSString *> *)config;
设置高级配置,如可用于指定视频编码等功能。如需使用,联系 ZEGO 技术支持。
Declared in ZegoExpressDefines.h

setMinPlayStreamBufferLength

setMinPlayStreamBufferLength
- (void)setMinPlayStreamBufferLength:(int)minPlayStreamBufferLength;
详情描述:设置混流服务器拉流缓存自适应调整的区间范围下限。在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。通过调节混流服务器拉流缓存自适应调整的区间范围下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。默认不设置,即服务端使用自身配置值。只会对新的输入流设置生效,对于已经开始混流的输入流不生效。取值范围:[0,10000],超过最大值混流会失败。在 web 平台,此属性不生效。
Declared in ZegoExpressDefines.h

setMixImageCheckMode

setMixImageCheckMode
- (void)setMixImageCheckMode:(ZegoMixImageCheckMode)mixImageCheckMode;
设置混流图片检查模式
Declared in ZegoExpressDefines.h

ZegoMixerVideoConfig

混流视频配置

详情

配置混流任务的视频参数,帧率、码率、分辨率

Declared in ZegoExpressDefines.h

属性

fps

fps
nonatomic, assign int fps

视频帧率,开始混流任务后不能修改

bitrate

bitrate
nonatomic, assign int bitrate

视频码率,单位为 kbps

quality

quality
nonatomic, assign int quality

视频质量,视频码率控制模式参数设置为恒定质量时此设置值有效,有效值范围 [0,51],默认值是 23。若想视频质量好点,在 23 的基础上降低质量值测试调整。若想文件大小小一点,在 23 的基础上升高质量值测试调整。以 x 值下的文件大小为例, x + 6 值下的文件大小是 x 值下文件大小的一半,x - 6 值下的文件大小是 x 值下文件大小的两倍。在 web 平台,此属性不生效。

rateControlMode

rateControlMode
nonatomic, assign ZegoVideoRateControlMode rateControlMode

视频码率控制模式。在 web 平台,此属性不生效。

resolution

resolution
nonatomic, assign CGSize resolution

视频分辨率

方法

configWithResolution:fps:bitrate

configWithResolution:fps:bitrate
- (void)+ (instancetype)configWithResolution:(CGSize)resolution fps:(int)fps bitrate:(int)bitrate;
创建混流视频配置
Declared in ZegoExpressDefines.h

ZegoMixerVideoConfig 实例

initWithResolution:fps:bitrate

initWithResolution:fps:bitrate
- (instancetype)initWithResolution:(CGSize)resolution fps:(int)fps bitrate:(int)bitrate;
创建混流视频配置
Declared in ZegoExpressDefines.h

ZegoMixerVideoConfig 实例

ZegoMixerWhiteboard

混流输入白板对象

详情

配置混流输入的白板 ID、宽高比、布局。

Declared in ZegoExpressDefines.h

属性

whiteboardID

whiteboardID
unsigned long long whiteboardID

白板 ID。

horizontalRatio

horizontalRatio
int horizontalRatio

白板原始宽高比(宽),默认宽高比为 16:9。

verticalRatio

verticalRatio
int verticalRatio

白板原始宽高比(高),默认宽高比为 16:9。

isPPTAnimation

isPPTAnimation
BOOL isPPTAnimation

白板是否会加载动态 PPT 文件,默认值为 false。

layout

layout
nonatomic, assign CGRect layout

白板的布局。

zOrder

zOrder
int zOrder

白板视图层级。

backgroundColor

backgroundColor
int backgroundColor

白板的背景颜色。默认是 0xF1F3F400 (灰色)。 颜色值对应 RGBA 为 0xRRGGBBAA,目前不支持设置背景色的透明度,0xRRGGBBAA 中的 AA 为 00 即可。例如:选取 RGB 为 #87CEFA 作为背景色,此参数传 0x87CEFA00。

方法

initWithWhiteboardID:layout

initWithWhiteboardID:layout
- (instancetype)initWithWhiteboardID:(unsigned long long)whiteboardID layout:(CGRect)layout;
创建混流白板对象
Declared in ZegoExpressDefines.h

ZegoMixerWhiteboard 实例

ZegoNetWorkResourceCache

媒体播放器网络缓存信息

Declared in ZegoExpressDefines.h

属性

time

time
nonatomic, assign unsigned int time

已缓存的可播放时长, 单位 ms

size

size
nonatomic, assign unsigned int size

已缓存的可播放大小, 单位 byte

ZegoNetworkProbeConfig

网络探测配置

Declared in ZegoExpressDefines.h

属性

enableTraceroute

enableTraceroute
nonatomic, assign BOOL enableTraceroute

是否进行路由跟踪,开启路由跟踪将会显著增加网络探测时间

ZegoNetworkProbeHttpResult

http探测结果

Declared in ZegoExpressDefines.h

属性

errorCode

errorCode
nonatomic, assign int errorCode

http 探测错误码,0表示连接正常

requestCostTime

requestCostTime
nonatomic, assign unsigned int requestCostTime

http 请求消耗时常,单位毫秒

ZegoNetworkProbeResult

网络探测结果

Declared in ZegoExpressDefines.h

属性

httpProbeResult

httpProbeResult
nonatomic, strong, nullable ZegoNetworkProbeHttpResult * httpProbeResult

http 探测结果

tcpProbeResult

tcpProbeResult
nonatomic, strong, nullable ZegoNetworkProbeTcpResult * tcpProbeResult

tcp 探测结果

udpProbeResult

udpProbeResult
nonatomic, strong, nullable ZegoNetworkProbeUdpResult * udpProbeResult

udp 探测结果

tracerouteResult

tracerouteResult
nonatomic, strong, nullable ZegoNetworkProbeTracerouteResult * tracerouteResult

路由跟踪结果

ZegoNetworkProbeTcpResult

tcp探测结果

Declared in ZegoExpressDefines.h

属性

errorCode

errorCode
nonatomic, assign int errorCode

tcp 探测错误码,0表示连接正常

rtt

rtt
nonatomic, assign unsigned int rtt

tcp rtt,单位毫秒

connectCostTime

connectCostTime
nonatomic, assign unsigned int connectCostTime

tcp 建立连接消耗时常,单位毫秒

ZegoNetworkProbeTracerouteResult

路由跟踪结果

详情

最多jump 30次。traceroute 结果供参考,不代表最终网络连通结果,优先已http,tcp,udp为准。

Declared in ZegoExpressDefines.h

属性

errorCode

errorCode
nonatomic, assign int errorCode

路由跟踪错误码,0表示正常

tracerouteCostTime

tracerouteCostTime
nonatomic, assign unsigned int tracerouteCostTime

路由跟踪所消耗的时常,单位毫秒

ZegoNetworkProbeUdpResult

udp探测结果

Declared in ZegoExpressDefines.h

属性

errorCode

errorCode
nonatomic, assign int errorCode

udp 探测错误码,0表示连接正常

rtt

rtt
nonatomic, assign unsigned int rtt

SDK 向服务器发送 udp 数据并收到回复所消耗的时常,单位毫秒

ZegoNetworkSpeedTestConfig

网络测速配置

Declared in ZegoExpressDefines.h

属性

testUplink
nonatomic, assign BOOL testUplink

是否进行上行测速

expectedUplinkBitrate

expectedUplinkBitrate
nonatomic, assign int expectedUplinkBitrate

单位 kbps。用于确定网络上行环境是否适合推送指定码率的数据,建议用推流的码率来测试。

testDownlink
nonatomic, assign BOOL testDownlink

是否进行下行测速

expectedDownlinkBitrate

expectedDownlinkBitrate
nonatomic, assign int expectedDownlinkBitrate

单位 kbps。用于确定网络下行环境是否适合拉取指定码率的数据,建议用推流的码率来测试。

ZegoNetworkSpeedTestQuality

网络测速质量

Declared in ZegoExpressDefines.h

属性

connectCost

connectCost
nonatomic, assign unsigned int connectCost

连接服务器耗时,单位毫秒。测速过程中如果网络连接断开会自动发起重连,此变量会相应更新。

rtt

rtt
nonatomic, assign unsigned int rtt

rtt,单位毫秒

packetLostRate

packetLostRate
nonatomic, assign double packetLostRate

丢包率,单位为百分比,0.0 ~ 1.0

quality

quality
nonatomic, assign ZegoStreamQualityLevel quality

网络质量,优良中差

ZegoNetworkTimeInfo

网络时间戳信息

Declared in ZegoExpressDefines.h

属性

timestamp

timestamp
nonatomic, assign unsigned long long timestamp

同步后的网络时间戳,0表示尚未同步

maxDeviation

maxDeviation
nonatomic, assign int maxDeviation

最大误差

ZegoObjectSegmentationConfig

主体分割的配置。

详情

用于在开启主体分割时,配置参数。

Declared in ZegoExpressDefines.h

属性

objectSegmentationType

objectSegmentationType
nonatomic, assign ZegoObjectSegmentationType objectSegmentationType

主体分割类型。

backgroundConfig

backgroundConfig
nonatomic, strong ZegoBackgroundConfig * backgroundConfig

背景配置。

ZegoPerformanceStatus

系统性能监控状态

Declared in ZegoExpressDefines.h

属性

cpuUsageApp

cpuUsageApp
nonatomic, assign double cpuUsageApp

当前 App 的 CPU 使用率,取值范围 [0, 1]

cpuUsageSystem

cpuUsageSystem
nonatomic, assign double cpuUsageSystem

当前系统的 CPU 使用率,取值范围 [0, 1]

memoryUsageApp

memoryUsageApp
nonatomic, assign double memoryUsageApp

当前 App 的运行内存使用率,取值范围 [0, 1]

memoryUsageSystem

memoryUsageSystem
nonatomic, assign double memoryUsageSystem

当前系统的运行内存使用率,取值范围 [0, 1]

memoryUsedApp

memoryUsedApp
nonatomic, assign double memoryUsedApp

当前 App 的运行内存使用量,单位为 MB

ZegoPictureCapturer

Declared in ZegoExpressDefines.h

方法

setPath:

setPath:
- (void)setPath:(NSString *) path;
设置图片采集源路径。
Declared in ZegoExpressDefines.h

参数

名称类型描述
pathNSString *图片路径。

详情

设置图片采集源路径。

  • 相关接口:用户可以调用 [createPictureCapturer] 创建图片采集器实例。
  • 支持版本:3.22.0 及以上。

getIndex

getIndex
- (int)getIndex;
获取图片采集器实例编号。
Declared in ZegoExpressDefines.h

图片采集器实例编号。

ZegoPlayStreamQuality

拉流质量对象

详情

音视频参数与网络质量等

Declared in ZegoExpressDefines.h

属性

videoRecvFPS

videoRecvFPS
nonatomic, assign double videoRecvFPS

视频接收帧率,单位为 f/s

videoDejitterFPS

videoDejitterFPS
nonatomic, assign double videoDejitterFPS

视频抗抖动帧率,单位为 f/s (1.17.0 及以上版本支持)

videoDecodeFPS

videoDecodeFPS
nonatomic, assign double videoDecodeFPS

视频解码帧率,单位为 f/s

videoRenderFPS

videoRenderFPS
nonatomic, assign double videoRenderFPS

视频渲染帧率,单位为 f/s

videoKBPS

videoKBPS
nonatomic, assign double videoKBPS

视频码率,单位为 kbps

videoBreakRate

videoBreakRate
nonatomic, assign double videoBreakRate

视频卡顿率,单位为(卡顿次数/每10秒)(1.17.0 及以上版本支持)

audioRecvFPS

audioRecvFPS
nonatomic, assign double audioRecvFPS

音频接收帧率,单位为 f/s

audioDejitterFPS

audioDejitterFPS
nonatomic, assign double audioDejitterFPS

音频抗抖动帧率,单位为 f/s (1.17.0 及以上版本支持)

audioDecodeFPS

audioDecodeFPS
nonatomic, assign double audioDecodeFPS

音频解码帧率,单位为 f/s

audioRenderFPS

audioRenderFPS
nonatomic, assign double audioRenderFPS

音频渲染帧率,单位为 f/s

audioKBPS

audioKBPS
nonatomic, assign double audioKBPS

音频码率,单位为 kbps

audioBreakRate

audioBreakRate
nonatomic, assign double audioBreakRate

音频卡顿率,单位为(卡顿次数/每10秒) (1.17.0 及以上版本支持)

mos

mos
nonatomic, assign double mos

音频 MOS (平均主观意见分) 评估方法对拉流音频的质量评分,取值范围 [-1, 5],其中 -1 表示未知,[0, 5] 表示有效的评分,分数越高,音频质量越好。评分对应的主观感受请查阅 https://doc-zh.zego.im/article/1074#4_4 (2.16.0 及以上版本支持)

rtt

rtt
nonatomic, assign int rtt

服务端至本端的延迟,单位为毫秒

packetLostRate

packetLostRate
nonatomic, assign double packetLostRate

丢包率,单位为百分比,0.0 ~ 1.0

peerToPeerDelay

peerToPeerDelay
nonatomic, assign int peerToPeerDelay

端到端延迟,单位为毫秒

peerToPeerPacketLostRate

peerToPeerPacketLostRate
nonatomic, assign double peerToPeerPacketLostRate

端到端丢包率,单位为百分比,0.0 ~ 1.0

level

level
nonatomic, assign ZegoStreamQualityLevel level

拉流质量级别

delay

delay
nonatomic, assign int delay

本端接收到数据后到播放的延迟,单位为毫秒

avTimestampDiff

avTimestampDiff
nonatomic, assign int avTimestampDiff
  • 支持版本:1.19.0 及以上

isHardwareDecode

isHardwareDecode
nonatomic, assign BOOL isHardwareDecode

是否开启硬件解码

videoCodecID

videoCodecID
nonatomic, assign ZegoVideoCodecID videoCodecID

视频编码格式 (1.17.0 及以上版本支持)

totalRecvBytes

totalRecvBytes
nonatomic, assign double totalRecvBytes

已接收的总字节数,包括音频、视频和 SEI 等

audioRecvBytes

audioRecvBytes
nonatomic, assign double audioRecvBytes

已接收的音频字节数

videoRecvBytes

videoRecvBytes
nonatomic, assign double videoRecvBytes

已接收的视频字节数

audioCumulativeBreakCount

audioCumulativeBreakCount
nonatomic, assign unsigned int audioCumulativeBreakCount

累计音频卡顿次数 (2.9.0 及以上版本支持)

audioCumulativeBreakTime

audioCumulativeBreakTime
nonatomic, assign unsigned int audioCumulativeBreakTime

累计音频卡顿时长,单位为毫秒 (2.9.0 及以上版本支持)

audioCumulativeBreakRate

audioCumulativeBreakRate
nonatomic, assign double audioCumulativeBreakRate

累计音频卡顿率,单位为百分比,0.0 ~ 100.0 (2.9.0 及以上版本支持)

audioCumulativeDecodeTime

audioCumulativeDecodeTime
nonatomic, assign unsigned int audioCumulativeDecodeTime

累计音频解码时长,单位为毫秒 (2.9.0 及以上版本支持)

videoCumulativeBreakCount

videoCumulativeBreakCount
nonatomic, assign unsigned int videoCumulativeBreakCount

累计视频卡顿次数 (2.9.0 及以上版本支持)

videoCumulativeBreakTime

videoCumulativeBreakTime
nonatomic, assign unsigned int videoCumulativeBreakTime

累计视频卡顿时长,单位为毫秒 (2.9.0 及以上版本支持)

videoCumulativeBreakRate

videoCumulativeBreakRate
nonatomic, assign double videoCumulativeBreakRate

累计视频卡顿率,单位为百分比,0.0 ~ 1.0 (2.9.0 及以上版本支持)

videoCumulativeDecodeTime

videoCumulativeDecodeTime
nonatomic, assign unsigned int videoCumulativeDecodeTime

累计视频解码时长,单位为毫秒 (2.9.0 及以上版本支持)

muteVideo

muteVideo
nonatomic, assign int muteVideo

禁用视频, (3.13.0 及以上版本支持)

muteAudio

muteAudio
nonatomic, assign int muteAudio

禁用音频, (3.13.0 及以上版本支持)

ZegoPlayerConfig

拉流进阶配置。

详情

配置资源策略模式、CDN 配置以及其他高级配置。

Declared in ZegoExpressDefines.h

属性

resourceMode

resourceMode
nonatomic, assign ZegoStreamResourceMode resourceMode

拉流资源策略模式。

cdnConfig

cdnConfig
nonatomic, strong, nullable ZegoCDNConfig * cdnConfig

拉流的 CDN 配置,若设置后,则按照 URL 拉流而不是按照 streamID 拉流,此后 streamID 仅作为 SDK 内部回调的标识。

roomID

roomID
nonatomic, copy NSString * roomID

房间 ID。仅在多房间模式下需要填写,即指明这条流需要跟哪个房间绑定。单房间模式下此参数将被忽略。

videoCodecID

videoCodecID
nonatomic, assign ZegoVideoCodecID videoCodecID

该流的视频编码类型,若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。

sourceResourceType

sourceResourceType
nonatomic, assign ZegoResourceType sourceResourceType

源流的资源类型,若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。

codecTemplateID

codecTemplateID
nonatomic, assign int codecTemplateID

预配置的编解码器模板,若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。

resourceSwitchMode

resourceSwitchMode
nonatomic, assign ZegoStreamResourceSwitchMode resourceSwitchMode

拉流资源切换策略模式,默认为 ZegoStreamResourceSwitchModeDefault

resourceWhenStopPublish

resourceWhenStopPublish
nonatomic, assign ZegoStreamResourceType resourceWhenStopPublish

下麦时切换的拉流资源类型,默认为 ZegoStreamResourceTypeDefault。只有用户设置 [resourceMode] 为 ZegoStreamResourceModeDefaut 时,且 [resourceSwitchMode] 为 ZegoStreamResourceSwitchModeDefault 或者 ZegoStreamResourceSwitchModeSwitchToRTC,该设置生效。

adaptiveSwitch

adaptiveSwitch
nonatomic, assign int adaptiveSwitch

是否开启流的自适应切换,1 表示开启,0 表示关闭。仅 [resourceMode] 为 ZegoStreamResourceModeOnlyL3 时有效。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。

adaptiveTemplateIDList

adaptiveTemplateIDList
nonatomic, copy NSArray<NSNumber *> * adaptiveTemplateIDList

流的自适应转码模板ID列表。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。

customResourceConfig

customResourceConfig
nonatomic, strong, nullable ZegoCustomPlayerResourceConfig * customResourceConfig

当 [resourceMode] 为 ZegoStreamResourceModeCustom 时的拉流资源类型配置。

switchStreamConfig

switchStreamConfig
nonatomic, strong, nullable ZegoSwitchPlayingStreamConfig * switchStreamConfig

供 [switchPlayingStream] 接口使用的扩展参数。

ZegoPosition

用户位置坐标

Declared in ZegoExpressDefines.h

属性

coordinate

coordinate
nonatomic, copy, nonnull NSArray<NSNumber *> * coordinate

自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

motionOrientation

motionOrientation
nonatomic, strong, nonnull ZegoPositionOrientation * motionOrientation

运动朝向。

cameraOrientation

cameraOrientation
nonatomic, strong, nonnull ZegoPositionOrientation * cameraOrientation

摄像机朝向,用于 3D 音效。

ZegoPositionOrientation

朝向。

Declared in ZegoExpressDefines.h

属性

axisForward

axisForward
nonatomic, copy, nonnull NSArray<NSNumber *> * axisForward

自身坐标系前轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

axisRight

axisRight
nonatomic, copy, nonnull NSArray<NSNumber *> * axisRight

自身坐标系右轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

axisUp

axisUp
nonatomic, copy, nonnull NSArray<NSNumber *> * axisUp

自身坐标系上轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

ZegoProxyInfo

代理信息。

详情

配置代理信息。

Declared in ZegoExpressDefines.h

属性

ip

ip
nonatomic, copy NSString * ip

ip 地址。本地代理下:由开发者配置的本地代理 ip。云代理下:由 ZEGO 提供的代理 ip(域名、ip 二选一即可)。

port

port
nonatomic, assign unsigned int port

port 端口。本地代理下:由开发者配置的本地代理端口。云代理下:由 ZEGO 提供的代理端口。

hostName

hostName
nonatomic, copy NSString * hostName

域名。本地代理下:由开发者配置的本地代理域名。云代理下:由 ZEGO 提供的代理域名 (域名、ip 二选一即可)。

userName

userName
nonatomic, copy NSString * userName

代理鉴权用户名。本地代理下:由开发者配置的本地代理的鉴权用户名,如没有可忽略。云代理下:可忽略。

password

password
nonatomic, copy NSString * password

代理鉴权密码。本地代理下:由开发者配置的本地代理的鉴权密码,如没有可忽略。云代理下:可忽略。

ZegoPublishDualStreamConfig

大小流的配置信息

Declared in ZegoExpressDefines.h

属性

streamType

streamType

流类型

fps

fps
nonatomic, assign int fps

需要调整的视频帧率

bitrate

bitrate
nonatomic, assign int bitrate

需要调整的视频码率,单位为 kbps

encodeResolution

encodeResolution
nonatomic, assign CGSize encodeResolution

需要调整的视频分辨率

ZegoPublishStreamQuality

推流质量对象

详情

音视频参数与网络质量等

Declared in ZegoExpressDefines.h

属性

videoCaptureFPS

videoCaptureFPS
nonatomic, assign double videoCaptureFPS

视频采集帧率,单位为 f/s

videoEncodeFPS

videoEncodeFPS
nonatomic, assign double videoEncodeFPS

视频编码帧率,单位为 f/s

videoSendFPS

videoSendFPS
nonatomic, assign double videoSendFPS

视频发送帧率,单位为 f/s

videoKBPS

videoKBPS
nonatomic, assign double videoKBPS

视频码率,单位为 kbps

audioCaptureFPS

audioCaptureFPS
nonatomic, assign double audioCaptureFPS

音频采集帧率,单位为 f/s

audioSendFPS

audioSendFPS
nonatomic, assign double audioSendFPS

音频发送帧率,单位为 f/s

audioKBPS

audioKBPS
nonatomic, assign double audioKBPS

音频码率,单位为 kbps

rtt

rtt
nonatomic, assign int rtt

本端至服务端的延迟,单位为毫秒

packetLostRate

packetLostRate
nonatomic, assign double packetLostRate

丢包率,单位为百分比,0.0 ~ 1.0

level

level
nonatomic, assign ZegoStreamQualityLevel level

推流质量级别

isHardwareEncode

isHardwareEncode
nonatomic, assign BOOL isHardwareEncode

是否开启硬件编码

videoCodecID

videoCodecID
nonatomic, assign ZegoVideoCodecID videoCodecID
  • 支持版本:1.17.0 及以上

totalSendBytes

totalSendBytes
nonatomic, assign double totalSendBytes

已发送的总字节数,包括音频、视频和SEI等

audioSendBytes

audioSendBytes
nonatomic, assign double audioSendBytes

已发送的音频字节数

videoSendBytes

videoSendBytes
nonatomic, assign double videoSendBytes

已发送的视频字节数

ZegoPublisherConfig

推流进阶配置

详情

配置房间 ID

Declared in ZegoExpressDefines.h

属性

roomID

roomID
nonatomic, copy NSString * roomID

房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID

forceSynchronousNetworkTime

forceSynchronousNetworkTime
nonatomic, assign int forceSynchronousNetworkTime

推流时是否同步网络时间,1-同步 0-不同步。且必须与 setStreamAlignmentProperty配合使用。用于在混流服务或拉流端对多条流进行对齐,比如 KTV 的合唱场景。

streamCensorshipMode

streamCensorshipMode
nonatomic, assign ZegoStreamCensorshipMode streamCensorshipMode

推流时,审查流的模式。默认不审查。如需要使用此功能,需要联系ZEGO技术支持。

streamCensorFlag

streamCensorFlag
nonatomic, assign int streamCensorFlag

审查标记,使用此功能需要联系 ZEGO 技术支持

codecNegotiationType

codecNegotiationType
nonatomic, assign ZegoCapabilityNegotiationType codecNegotiationType

编解码能力协商模式。默认不参考能力协商结果。如需要使用此功能,需要联系ZEGO技术支持。

streamTitle

streamTitle
nonatomic, copy NSString * streamTitle

流标题,长度不超过 255 字节的utf8编码字符串。

ZegoPublisherTakeSnapshotConfig

推流画面截图配置。

Declared in ZegoExpressDefines.h

属性

position

position
nonatomic, assign ZegoPublisherTakeSnapshotPosition position
  • 默认值:。

ZegoRangeAudio

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoRangeAudioEventHandler>) handler;
设置范围语音回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoRangeAudioEventHandler>用于接收范围语音回调的对象。

详情

设置范围语音模块回调的接口,可接收麦克风开启状态回调通知 [onRangeAudioMicrophoneStateUpdate]。

  • 业务场景:用于监听当前麦克风的连接状态。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.11.0 及以上。

setAudioReceiveRange:

setAudioReceiveRange:
- (void)setAudioReceiveRange:(float) range;
设置音频接收距离的最大范围。
Declared in ZegoExpressDefines.h

参数

名称类型描述
rangefloat音频范围,取值必须大于或等于 0。

详情

设置音频接收范围,超过该范围的音源声音会听不见。

  • 业务场景:“全世界” 模式下设置收听者的听觉范围。
  • 默认值:没有调用该函数时,只能接收本小队内的成员声音,无法接收小队外的所有声音。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:该功能只对小队以外的人生效。

setAudioReceiveRangeWithParam:

setAudioReceiveRangeWithParam:
- (int)setAudioReceiveRangeWithParam:(ZegoReceiveRangeParam *) param;
设置音频接收范围的配置。
Declared in ZegoExpressDefines.h

参数

名称类型描述
paramZegoReceiveRangeParam *音频接收范围的配置。

详情

设置音频接收范围,超过该范围的音源声音会听不见。

  • 业务场景:“全世界” 模式下设置收听者的听觉范围。
  • 默认值:没有调用该函数时,只能接收本小队内的成员声音,无法接收小队外的所有声音。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:3.7.0 及以上。
  • 注意事项:该功能只对小队以外的人生效。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

setPositionUpdateFrequency:

setPositionUpdateFrequency:
- (void)setPositionUpdateFrequency:(int) frequency;
设置SDK内部实时更新位置的频率
Declared in ZegoExpressDefines.h

参数

名称类型描述
frequencyint更新频率,取值必须大于15ms。

详情

设置SDK内部实时更新位置的频率 最小15ms。

  • 业务场景:对更新位置后,音频渐变灵敏度要求很高。
  • 默认值:默认100ms。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.21.0 及以上。

setRangeAudioVolume:

setRangeAudioVolume:
- (void)setRangeAudioVolume:(int) volume;
设置范围语音音量
Declared in ZegoExpressDefines.h

参数

名称类型描述
volumeint音量,取值[0,200]。

详情

设置范围语音音量。

  • 业务场景:当用户调用 [startPlayingStream] 拉取其他流时,可通过此接口来设置增大或者减少范围语音流的音量。
  • 默认值:100。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.23.0 及以上。

setStreamVocalRange:vocalRange:

setStreamVocalRange:vocalRange:
- (void)setStreamVocalRange:(NSString *) streamID vocalRange:(float) vocalRange;
设置流的发声范围
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *拉流 ID。
vocalRangefloat流发声范围。

详情

设置流的发声范围。

  • 业务场景:当用户调用 [startPlayingStream] 拉取其他流时,通过设置该流的发声范围,并且调用 [updateStreamPosition] 使此流也有范围语音效果, 调用后将以音源的发声范围进行距离衰减效果。
  • 调用时机:在初始化范围语音 [createRangeAudio] 并且调用 [startPlayingStream] 之后。
  • 支持版本:2.23.0 及以上。
  • 注意事项:调用 [enableMicrophone] 开启范围语音时,会将流的资源切换成 RTC,无论原先调用 [startPlayingStream] 拉流时是否指定的资源为 RTC。如果确实需要指定流的资源为 CDN,请配置为拉自定义 CDN 流,并指定 CDN 地址信息。

setStreamVocalRangeWithParam:param:

setStreamVocalRangeWithParam:param:
- (int)setStreamVocalRangeWithParam:(NSString *) streamID param:(ZegoVocalRangeParam *) param;
设置流的发声范围
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *拉流 ID。
paramZegoVocalRangeParam *流发声范围。

详情

设置流的发声范围。

  • 业务场景:当用户调用 [startPlayingStream] 拉取其他流时,通过设置该流的发声范围,并且调用 [updateStreamPosition] 使此流也有范围语音效果, 调用后将以音源的发声范围进行距离衰减效果。
  • 调用时机:在初始化范围语音 [createRangeAudio] 并且调用 [startPlayingStream] 之后。
  • 支持版本:3.7.0 及以上。
  • 注意事项:调用 [enableMicrophone] 开启范围语音时,会将流的资源切换成 RTC,无论原先调用 [startPlayingStream] 拉流时是否指定的资源为 RTC。如果确实需要指定流的资源为 CDN,请配置为拉自定义 CDN 流,并指定 CDN 地址信息。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

updateStreamPosition:position:

updateStreamPosition:position:
- (void)updateStreamPosition:(NSString *) streamID position:(float[_Nonnull 3]) position;
更新流的位置
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *拉流 ID。
positionfloat[_Nonnull 3]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

详情

更新流的位置。

  • 业务场景:当用户调用 [startPlayingStream] 拉取其他流时,调用 [setStreamVocalRange] 设置流发声位置后,再调用此接口设置该流的位置,使此流也有范围语音效果。
  • 调用时机:在初始化范围语音 [createRangeAudio] 并且调用 [startPlayingStream] 之后。
  • 支持版本:2.23.0 及以上。

updateSelfPosition:axisForward:axisRight:axisUp:

updateSelfPosition:axisForward:axisRight:axisUp:
- (void)updateSelfPosition:(float[_Nonnull 3]) position axisForward:(float[_Nonnull 3]) axisForward axisRight:(float[_Nonnull 3]) axisRight axisUp:(float[_Nonnull 3]) axisUp;
更新自身的位置和朝向。
Declared in ZegoExpressDefines.h

参数

名称类型描述
positionfloat[_Nonnull 3]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisForwardfloat[_Nonnull 3]自身坐标系前轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisRightfloat[_Nonnull 3]自身坐标系右轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisUpfloat[_Nonnull 3]自身坐标系上轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

详情

更新用户的位置和朝向,以便 SDK 计算出用户与音源距离以及左右耳立体声效果。

  • 业务场景:当用户在游戏中操作的角色在世界地图中移动时,更新角色的位置信息以及头部朝向。
  • 调用时机:在登录房间 [loginRoom] 后调用。
  • 支持版本:2.11.0 及以上。
  • 注意事项:在调用 [enableSpeaker] 打开扬声器之前如果没有调用该接口设置位置信息,则无法接收除小队以为其他人的声音。

updateAudioSource:position:

updateAudioSource:position:
- (void)updateAudioSource:(NSString *) userID position:(float[_Nonnull 3]) position;
添加或更新音源位置信息。
Declared in ZegoExpressDefines.h

参数

名称类型描述
userIDNSString *发声者的 userID。
positionfloat[_Nonnull 3]发声者在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

详情

设置 userID 对应的音源在房间内游戏地图位置,以便 SDK 计算听者与音源的距离和方位。

  • 业务场景:更新发声用户在游戏地图坐标中的位置。
  • 调用时机:调用 [loginRoom] 登录房间后调用,登出房间后会清空记录的音源信息。
  • 支持版本:2.11.0 及以上。

enableSpatializer:

enableSpatializer:
- (void)enableSpatializer:(BOOL) enable;
开启或关闭 3D 音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启 3D 音效。

详情

开启3D音效后将根据发声者相当于听者的位置模拟实际空间中的声音效果,直观的感受就是音源远近和方位发生变化时声音大小和左右声音差也会发生变化。

  • 业务场景:第一人称射击类游戏或社交场景游戏中听声辨位功能。
  • 默认值:没有调用该函数时,默认关闭 3D 音效。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:开启 3D 音效后,可使用 [updateAudioSource] 或 [updateSelfPosition] 改变位置和朝向来体验 3D 效果。
  • 支持版本:2.11.0 及以上。
  • 注意事项:该功能只对小队以外的人生效。

enableMicrophone:

enableMicrophone:
- (void)enableMicrophone:(BOOL) enable;
开启或关闭麦克风。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启麦克风。

详情

enable 为 "true" 时开启麦克风并推送音频流,为 "false" 时关闭麦克风并停止推送音频流。

  • 业务场景:用户在房间内打开或关闭麦克风交流。
  • 默认值:没有调用该函数时,默认关闭麦克风。
  • 调用时机:在初始化范围语音 [createRangeAudio] 和 登录房间 [loginRoom] 之后。
  • 相关回调:通过回调 [onRangeAudioMicrophoneStateUpdate] 来获取麦克风开关状态变化。
  • 支持版本:2.11.0 及以上。
  • 注意事项:开启麦克风会自动使用主通道推音频流。

enableSpeaker:

enableSpeaker:
- (void)enableSpeaker:(BOOL) enable;
开启或关闭扬声器。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否开启扬声器。

详情

enable 为 "true" 时开启扬声器并拉取音频流,为 "false" 时关闭扬声器并停止拉取音频流。

  • 业务场景:用户在房间内打开或关闭扬声器收听。
  • 默认值:没有调用该函数时,默认关闭扬声器。
  • 调用时机:在初始化范围语音 [createRangeAudio] 和 登录房间 [loginRoom] 之后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:开启扬声器会自动拉取房间内的音频流。

setRangeAudioMode:

setRangeAudioMode:
- (void)setRangeAudioMode:(ZegoRangeAudioMode) mode;
设置范围语音模式。
Declared in ZegoExpressDefines.h

参数

名称类型描述
modeZegoRangeAudioMode范围语音模式。

详情

收听模式,可设置为 “全世界” 模式或 ”仅小队“ 模式。

  • 业务场景:用户可选在 “全世界“ 模式下与所有人聊天(有距离限制),也可选择 ”仅小队“ 模式下团队内交流(无距离限制)。
  • 默认值:没有调用该函数时,默认使用 “全世界” 模式。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:在 “全世界” 模式下可设置声音接收范围 [setAudioReceiveRange],在 “仅小队” 模式下需要设置 [setTeamID] 加入对应小队才能听到队伍内的声音。
  • 支持版本:2.11.0 及以上。
  • 使用限制:不能与 [setRangeAudioCustomMode] 混用。

setRangeAudioCustomMode:listenMode:

setRangeAudioCustomMode:listenMode:
- (void)setRangeAudioCustomMode:(ZegoRangeAudioSpeakMode) speakMode listenMode:(ZegoRangeAudioListenMode) listenMode;
设置范围语音的高阶自定义模式。
Declared in ZegoExpressDefines.h

参数

名称类型描述
speakModeZegoRangeAudioSpeakMode范围语音发声模式。
listenModeZegoRangeAudioListenMode范围语音收听模式。

详情

可以分别设置发声模式和收听模式,以控制在世界和小队中的发声和收听行为。

  • 业务场景:用户可通过选择发声模式来决定谁能收听到他的声音,也可通过选择收听模式来决定收听谁的声音。
  • 默认值:没有调用该接口时,默认使用 “发声到所有” 模式和 “收听所有” 模式,也就是 “全世界” 模式。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:当希望收听来自世界的声音时,需要设置声音接收范围 [setAudioReceiveRange]。当希望在小队中发声和收听时,需要设置 [setTeamID] 加入对应小队。
  • 支持版本:3.3.0 及以上。
  • 使用限制:1. 不能与 [setRangeAudioMode] 混用;
  1. 与3.3.0之前的版本无法兼容。

setTeamID:

setTeamID:
- (void)setTeamID:(NSString *) teamID;
设置队伍 ID
Declared in ZegoExpressDefines.h

参数

名称类型描述
teamIDNSString *队伍 ID,为空退出小队,最大长度为 64 字节的字符串。支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '\'。

详情

设置队伍 ID 后,将能与同一队伍其他用户交流,且声音不会随距离方向产生变化;也可以通过设置空字符串来退出小队。

  • 业务场景:用户加入小队交流或退出小队。
  • 默认值:没有调用该函数时,默认不加入任何小队。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:小队内的声音不会有距离限制,也不会有 3D 音效。

muteUser:mute:

muteUser:mute:
- (void)muteUser:(NSString *) userID mute:(BOOL) mute;
是否可接收指定用户音频数据。
Declared in ZegoExpressDefines.h

参数

名称类型描述
userIDNSString *用户 ID。
muteBOOL是否可以接收指定远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制是否接收指定远端用户的音频数据,当开发者不接收音频收据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数,提升互动体验。
  • 默认值:默认为 “false”,即接收所有用户的音频数据。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:可调用 [muteAllPlayStreamAudio] 函数控制是否接收所有音频数据。1. 当调用 [muteAllPlayStreamAudio(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的音频数据,此时无论在 [muteAllPlayStreamAudio] 之前还是之后调用 [muteUser] 函数都不生效。2. 当调用 [muteAllPlayStreamAudio(false)] 函数时,本地用户可以接收所有远端用户的音频数据,此时可再通过 [muteUser] 函数控制是否接收指定用户的音频数据。调用 [muteUser(userID, true)] 函数则本地用户可以接收该 “userID” 之外的其他音频数据;调用 [muteUser(userID, false)] 函数则本地用户可以接收 “userID” 的音频数据。
  • 支持版本:2.16.0 及以上。
  • 注意事项:只有当 [muteAllPlayStreamAudio] 函数设置为 “false”时,此函数才有效。

ZegoRangeScene

Declared in ZegoExpressDefines.h

方法

getRangeSceneStream

getRangeSceneStream
- (ZegoRangeSceneStream *)getRangeSceneStream;
获取范围场景流管理实例对象。
Declared in ZegoExpressDefines.h

获取范围场景流管理实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过获取范围场景流管理实例对象使用相关功能。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。

范围场景流管理实例。

getRangeSceneTeam

getRangeSceneTeam
- (ZegoRangeSceneTeam *)getRangeSceneTeam;
获取范围场景小队管理实例对象。
Declared in ZegoExpressDefines.h

获取范围场景小队管理实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过获取范围场景小队管理实例对象使用相关功能。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。

范围场景小队管理实例。

getRangeSceneItem

getRangeSceneItem
- (ZegoRangeSceneItem *)getRangeSceneItem;
获取范围场景物品管理实例对象。
Declared in ZegoExpressDefines.h

获取范围场景物品管理实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过获取范围场景物品管理实例对象使用相关功能。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。

范围场景物品管理实例。

getRangeSceneHandle

getRangeSceneHandle
- (int)getRangeSceneHandle;
获取范围场景实例句柄。
Declared in ZegoExpressDefines.h

获取范围场景实例句柄。

  • 业务场景:用于推流到场景。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。

范围场景实例句柄。

setEventHandler:

setEventHandler:
- (BOOL)setEventHandler:(nullable id<ZegoRangeSceneEventHandler>) handler;
设置范围场景回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoRangeSceneEventHandler>用于接收范围场景回调的对象。

详情

设置范围场景模块回调。

  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.0.0 及以上。

返回值

设置范围场景回调结果。true: 成功, false: 失败。

loginScene:callback:

loginScene:callback:
- (int)loginScene:(ZegoSceneParam *) param callback:(nullable ZegoRangeSceneLoginSceneCallback) callback;
登录场景。
Declared in ZegoExpressDefines.h

参数

名称类型描述
paramZegoSceneParam *场景参数。
callbacknullable ZegoRangeSceneLoginSceneCallback登录场景结果回调。

详情

SDK 范围场景功能用"场景"概念来组织用户。

  • 业务场景:在同一个场景内用户在虚拟世界内互动。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 相关回调: 1. 当用户开始登录场景、登录场景成功或登录场景失败后,将会触发 [onSceneStateUpdate] 回调通知开发者当前用户连接场景的状态。 2. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onSceneStateUpdate] 回调获取本端当前场景连接状态的变化情况。
  • 相关接口:1. 可调用 [logoutScene] 退出登录。
  • 支持版本:3.0.0 及以上。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

logoutScene:

logoutScene:
- (int)logoutScene:(nullable ZegoRangeSceneLogoutSceneCallback) callback;
退出场景。
Declared in ZegoExpressDefines.h

参数

名称类型描述
callbacknullable ZegoRangeSceneLogoutSceneCallback退出场景结果回调。

详情

该接口会退出当前用户已登录的场景。

  • 调用时机:登录场景成功后,若不再使用场景功能,用户可以调用函数 [logoutScene]。
  • 相关回调:调用此函数后会收到 [onSceneStateUpdate] 回调通知成功退出场景。
  • 相关接口:用户可以调用 [loginScene] 函数登录场景。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:退出场景会停止该用户与场景相关的所有推拉流。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

updateUserStatus:channel:status:

updateUserStatus:channel:status:
- (int)updateUserStatus:(ZegoPosition *) position channel:(unsigned int) channel status:(NSData *) status;
更新用户的状态。
Declared in ZegoExpressDefines.h

参数

名称类型描述
positionZegoPosition *用户当前位置。
channelunsigned int状态所属通道,从0开始,不能超过最大通道号。
statusNSData *用户当前状态数据。

详情

开发者可以调用该接口更新用户的状态。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

updateUserCommand:channel:command:

updateUserCommand:channel:command:
- (int)updateUserCommand:(ZegoPosition *) position channel:(unsigned int) channel command:(NSData *) command;
更新用户的指令。
Declared in ZegoExpressDefines.h

参数

名称类型描述
positionZegoPosition *用户当前位置。
channelunsigned int指令所属通道,从0开始,不能超过最大通道号。
commandNSData *用户下一步命令数据。

详情

开发者可以调用该接口更新用户的指令。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

updateUserPosition:

updateUserPosition:
- (int)updateUserPosition:(ZegoPosition *) position;
更新用户的位置。
Declared in ZegoExpressDefines.h

参数

名称类型描述
positionZegoPosition *用户当前位置。

详情

开发者可以调用该接口更新用户的位置。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

getUserCount:

getUserCount:
- (int)getUserCount:(nullable ZegoRangeSceneGetUserCountCallback) callback;
获取场景内总人数。
Declared in ZegoExpressDefines.h

参数

名称类型描述
callbacknullable ZegoRangeSceneGetUserCountCallback获取场景内总人数结果回调。

详情

开发者可以调用该接口获取场景内总人数。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:nil。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

getUserListInView:

getUserListInView:
- (int)getUserListInView:(nullable ZegoRangeSceneGetUserListInViewCallback) callback;
获取范围内用户列表。
Declared in ZegoExpressDefines.h

参数

名称类型描述
callbacknullable ZegoRangeSceneGetUserListInViewCallback获取范围内用户列表结果回调。

详情

开发者可以调用该接口获取范围内用户列表。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:nil。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

sendCustomCommand:callback:

sendCustomCommand:callback:
- (int)sendCustomCommand:(NSData *) command callback:(nullable ZegoRangeSceneSendCustomCommandCallback) callback;
发送用户自定义信令。
Declared in ZegoExpressDefines.h

参数

名称类型描述
commandNSData *自定义信令。
callbacknullable ZegoRangeSceneSendCustomCommandCallback发送用户自定义信令结果回调。

详情

开发者可以调用该接口发送用户自定义信令。

  • 调用时机:[loginScene] 之后,[logoutScene] 之前。
  • 默认值:nil。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

renewToken:

renewToken:
- (int)renewToken:(NSString *) token;
更新 Token 鉴权信息。
Declared in ZegoExpressDefines.h

参数

名称类型描述
tokenNSString *需要更新的 Token。

详情

当开发者收到 [onSceneTokenWillExpire] 之后,可使用此 API 更新 Token 鉴权信息,保障后续 RTC 功能正常。

  • 业务场景:Token 将要过期时使用。
  • 调用时机:收到 [onSceneTokenWillExpire] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。

返回值

错误码,详情请参考常用错误码文档 https://doc-zh.zego.im/zh/4378.html

setStreamConfig:

setStreamConfig:
- (int)setStreamConfig:(ZegoSceneStreamConfig *) config;
设置场景推拉流模式。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoSceneStreamConfig *场景推拉流模式。

详情

开发者可以调用该接口设置场景推拉流模式。

  • 调用时机:[createRangeScene] 之后。
  • 默认值:nil。
  • 支持版本:3.2.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneEventHandler

Declared in ZegoExpressEventHandler.h

方法

rangeScene:sceneStateUpdate:errorCode

rangeScene:sceneStateUpdate:errorCode
- (void)rangeScene:(ZegoRangeScene *)rangeScene sceneStateUpdate:(ZegoSceneState)state errorCode:(int)errorCode;
场景状态变化通知
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
stateZegoSceneState当前场景状态。
errorCodeint错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

场景状态变化通知。

  • 通知时机:场景状态变化。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:enterView:position

rangeScene:enterView:position
- (void)rangeScene:(ZegoRangeScene *)rangeScene enterView:(ZegoUser *)user position:(ZegoPosition *)position;
其他用户进入当前用户视野范围回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userZegoUser *用户对象。
positionZegoPosition *用户位置。

详情

其他用户进入当前用户视野范围回调。

  • 通知时机:其他用户进入当前用户视野范围。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:leaveView

rangeScene:leaveView
- (void)rangeScene:(ZegoRangeScene *)rangeScene leaveView:(NSString *)userID;
其他用户离开当前用户视野范围回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。

详情

其他用户离开当前用户视野范围回调通知。

  • 通知时机:其他用户离开当前用户视野范围。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:userStatusUpdate:position:channel:status

rangeScene:userStatusUpdate:position:channel:status
- (void)rangeScene:(ZegoRangeScene *)rangeScene userStatusUpdate:(NSString *)userID position:(ZegoPosition *)position channel:(unsigned int)channel status:(NSData *)status;
用户状态变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。
positionZegoPosition *用户当前位置。
channelunsigned int状态所属通道。
statusNSData *用户当前状态数据。

详情

用户状态变更回调。

  • 通知时机:用户状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

rangeScene:userCommandUpdate:position:channel:command

rangeScene:userCommandUpdate:position:channel:command
- (void)rangeScene:(ZegoRangeScene *)rangeScene userCommandUpdate:(NSString *)userID position:(ZegoPosition *)position channel:(unsigned int)channel command:(NSData *)command;
用户指令变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。
positionZegoPosition *用户当前位置。
channelunsigned int指令所属通道。
commandNSData *用户下一步命令数据。

详情

用户指令变更回调。

  • 通知时机:用户指令变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

rangeScene:customCommandUpdate

rangeScene:customCommandUpdate
- (void)rangeScene:(ZegoRangeScene *)rangeScene customCommandUpdate:(NSData *)command;
用户自定义信令变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
commandNSData *用户自定义信令。

详情

用户自定义信令变更回调。

  • 通知时机:用户自定义信令变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:tokenWillExpire

rangeScene:tokenWillExpire
- (void)rangeScene:(ZegoRangeScene *)rangeScene tokenWillExpire:(int)remainTimeInSecond;
场景 Token 鉴权将要过期的回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
remainTimeInSecondinttoken 过期前的剩余时间。

详情

场景 Token 鉴权将要过期的回调通知,请用户通过 [renewToken] 函数更新场景 Token 鉴权。

  • 通知时机:在 Token 过期前 30 秒,SDK 会通过 [onSceneTokenWillExpire] 回调发出通知。
  • 相关接口:当开发者收到此回调后,可通过 [renewToken] 来更新 Token 鉴权信息。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

ZegoRangeSceneItem

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (BOOL)setEventHandler:(nullable id<ZegoRangeSceneItemEventHandler>) handler;
设置范围场景物品管理回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoRangeSceneItemEventHandler>用于接收范围场景物品管理回调的对象。

详情

设置范围场景物品管理模块回调。

  • 调用时机:通过 [getRangeSceneItem] 获取范围场景物品管理对象之后。
  • 支持版本:3.1.0 及以上。

返回值

设置范围场景物品管理回调结果。true: 成功, false: 失败。

createItem:callback:

createItem:callback:
- (int)createItem:(ZegoItemParam *) param callback:(nullable ZegoRangeSceneCreateItemCallback) callback;
创建物品。
Declared in ZegoExpressDefines.h

参数

名称类型描述
paramZegoItemParam *物品参数。
callbacknullable ZegoRangeSceneCreateItemCallback创建物品结果回调。

详情

创建物品。

  • 业务场景:虚拟世界内物品竞争。
  • 调用时机:登录场景成功之后,[logoutScene] 之前。
  • 相关接口:可调用 [destroyItem] 销毁物品。
  • 支持版本:3.1.0 及以上。
  • 注意事项: 1. 物品属于范围场景,而不是某个用户,当某用户成功绑定某物品时,只是表示该用户拥有对该物品的暂时使用权。 2. 一个物品允许拥有1个或多个绑定用户,申请绑定物品时遵循先到先得的原则。 3. 当有多个用户同时绑定了某个物品时,他们对该物品的变更遵循cas原则。 4. 创建物品时允许指定是否在创建成功后绑定该物品。 5. 物品创建成功时,该物品范围内的用户会收到 [onItemEnterView] 回调通知。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

destroyItem:callback:

destroyItem:callback:
- (int)destroyItem:(long long) itemID callback:(nullable ZegoRangeSceneDestroyItemCallback) callback;
销毁物品。
Declared in ZegoExpressDefines.h

参数

名称类型描述
itemIDlong long物品 ID。
callbacknullable ZegoRangeSceneDestroyItemCallback销毁物品结果回调。

详情

销毁物品。

  • 业务场景:虚拟世界内物品竞争。
  • 调用时机:登录场景成功之后,[logoutScene] 之前。
  • 相关接口:可调用 [createItem] 创建物品。
  • 支持版本:3.1.0 及以上。
  • 注意事项:物品被销毁时,该物品范围内的用户会收到 [onItemLeaveView]回调通知。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

bindItem:callback:

bindItem:callback:
- (int)bindItem:(long long) itemID callback:(nullable ZegoRangeSceneBindItemCallback) callback;
申请绑定物品。
Declared in ZegoExpressDefines.h

参数

名称类型描述
itemIDlong long物品 ID。
callbacknullable ZegoRangeSceneBindItemCallback申请绑定物品结果回调。

详情

申请绑定物品。

  • 业务场景:虚拟世界内物品竞争。
  • 调用时机:登录场景成功之后,[logoutScene] 之前。
  • 相关接口:可调用 [unbindItem] 申请解绑物品。
  • 支持版本:3.1.0 及以上。
  • 注意事项:成功绑定物品时,该物品范围内的用户会收到 [onItemBindUpdate] 回调通知。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

unbindItem:callback:

unbindItem:callback:
- (int)unbindItem:(long long) itemID callback:(nullable ZegoRangeSceneUnbindItemCallback) callback;
申请解绑物品。
Declared in ZegoExpressDefines.h

参数

名称类型描述
itemIDlong long物品 ID。
callbacknullable ZegoRangeSceneUnbindItemCallback销毁物品结果回调。

详情

申请解绑物品。

  • 业务场景:虚拟世界内物品竞争。
  • 调用时机:[bindItem] 之后,[logoutScene] 之前。
  • 相关接口:可调用 [bindItem] 申请绑定物品。
  • 支持版本:3.1.0 及以上。
  • 注意事项:成功解绑物品时,该物品范围内的用户会收到 [onItemUnbindUpdate] 回调通知。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

updateItemStatus:position:channel:status:callback:

updateItemStatus:position:channel:status:callback:
- (int)updateItemStatus:(long long) itemID position:(ZegoPosition *) position channel:(unsigned int) channel status:(NSData *) status callback:(nullable ZegoRangeSceneUpdateItemStatusCallback) callback;
更新物品的状态。
Declared in ZegoExpressDefines.h

参数

名称类型描述
itemIDlong long物品 ID。
positionZegoPosition *物品当前位置。
channelunsigned int状态所属通道,从0开始,不能超过最大通道号。
statusNSData *物品当前状态数据。
callbacknullable ZegoRangeSceneUpdateItemStatusCallback更新物品状态结果回调。

详情

开发者可以调用该接口更新物品的状态。

  • 调用时机:[onBindItem] 之后,[unbindItem] 之前。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

updateItemCommand:position:channel:command:callback:

updateItemCommand:position:channel:command:callback:
- (int)updateItemCommand:(long long) itemID position:(ZegoPosition *) position channel:(unsigned int) channel command:(NSData *) command callback:(nullable ZegoRangeSceneUpdateItemCommandCallback) callback;
更新物品的指令。
Declared in ZegoExpressDefines.h

参数

名称类型描述
itemIDlong long物品 ID。
positionZegoPosition *物品当前位置。
channelunsigned int状态所属通道,从0开始,不能超过最大通道号。
commandNSData *物品下一步命令数据。
callbacknullable ZegoRangeSceneUpdateItemCommandCallback更新物品下一步命令结果回调。

详情

开发者可以调用该接口更新物品的指令。

  • 调用时机:[onBindItem] 之后,[unbindItem] 之前。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneItemEventHandler

Declared in ZegoExpressEventHandler.h

方法

rangeScene:itemEnterView:capacity:position:userList

rangeScene:itemEnterView:capacity:position:userList
- (void)rangeScene:(ZegoRangeScene *)rangeScene itemEnterView:(long long)itemID capacity:(unsigned int)capacity position:(ZegoPosition *)position userList:(NSArray<NSString *> *)userList;
物品进入当前用户视野范围回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
itemIDlong long物品 ID。
capacityunsigned int物品的允许绑定用户人数。
positionZegoPosition *物品位置。
userListNSArray<NSString *> *物品当前绑定的用户列表。

详情

物品进入当前用户视野范围回调。

  • 通知时机:物品进入当前用户视野范围。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:itemLeaveView

rangeScene:itemLeaveView
- (void)rangeScene:(ZegoRangeScene *)rangeScene itemLeaveView:(long long)itemID;
物品离开当前用户视野范围回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
itemIDlong long物品 ID。

详情

物品离开当前用户视野范围回调通知。

  • 通知时机:物品离开当前用户视野范围。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:itemBindUpdate:userID

rangeScene:itemBindUpdate:userID
- (void)rangeScene:(ZegoRangeScene *)rangeScene itemBindUpdate:(long long)itemID userID:(NSString *)userID;
物品绑定用户变更回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
itemIDlong long物品 ID。
userIDNSString *物品绑定的用户 ID。

详情

物品绑定用户变更回调通知。

  • 通知时机:物品绑定用户变更。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:itemUnbindUpdate:userList

rangeScene:itemUnbindUpdate:userList
- (void)rangeScene:(ZegoRangeScene *)rangeScene itemUnbindUpdate:(long long)itemID userList:(NSArray<NSString *> *)userList;
物品解绑用户变更回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
itemIDlong long物品 ID。
userListNSArray<NSString *> *物品解绑绑定的用户列表。

详情

物品解绑用户变更回调通知。

  • 通知时机:物品解绑用户变更。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:itemStatusUpdate:position:channel:status

rangeScene:itemStatusUpdate:position:channel:status
- (void)rangeScene:(ZegoRangeScene *)rangeScene itemStatusUpdate:(long long)itemID position:(ZegoPosition *)position channel:(unsigned int)channel status:(NSData *)status;
物品状态变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
itemIDlong long物品 ID。
positionZegoPosition *物品当前位置。
channelunsigned int状态所属通道。
statusNSData *物品当前状态数据。

详情

物品状态变更回调。

  • 通知时机:物品状态变更。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

rangeScene:itemCommandUpdate:position:channel:command

rangeScene:itemCommandUpdate:position:channel:command
- (void)rangeScene:(ZegoRangeScene *)rangeScene itemCommandUpdate:(long long)itemID position:(ZegoPosition *)position channel:(unsigned int)channel command:(NSData *)command;
物品指令变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
itemIDlong long物品 ID。
positionZegoPosition *物品当前位置。
channelunsigned int指令所属通道。
commandNSData *物品下一步命令数据。

详情

物品指令变更回调。

  • 通知时机:物品指令变更。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

ZegoRangeSceneStream

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (BOOL)setEventHandler:(nullable id<ZegoRangeSceneStreamEventHandler>) handler;
设置范围场景流管理回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoRangeSceneStreamEventHandler>用于接收范围场景流管理回调的对象。

详情

设置范围场景流管理模块回调。

  • 调用时机:通过 [getRangeSceneStream] 获取范围场景流管理之后。
  • 支持版本:3.0.0 及以上。

返回值

设置范围场景流管理回调结果。true: 成功, false: 失败。

setReceiveRange:

setReceiveRange:
- (int)setReceiveRange:(float) range;
设置音视频流的接收范围。
Declared in ZegoExpressDefines.h

参数

名称类型描述
rangefloat以本人为中心点的范围距离。

详情

该接口会设置音视频流的接收范围,ZEGO SDK 会主动拉取进去该范围的用户的流。

  • 调用时机:[getRangeSceneStream] 之后。
  • 默认值:接受范围的默认值是 0.0。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

setReceiveRangeWithParam:

setReceiveRangeWithParam:
- (int)setReceiveRangeWithParam:(ZegoReceiveRangeParam *) param;
设置音视频流的接收范围。
Declared in ZegoExpressDefines.h

参数

名称类型描述
paramZegoReceiveRangeParam *音频接受范围配置。

详情

该接口会设置音视频流的接收范围,ZEGO SDK 会主动拉取进去该范围的用户的流。

  • 调用时机:[getRangeSceneStream] 之后。
  • 默认值:接受范围的默认值是 0.0。
  • 支持版本:3.7.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

enableRangeSpatializer:

enableRangeSpatializer:
- (int)enableRangeSpatializer:(BOOL) enable;
开启或关闭 3D 空间音效。
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOLtrue: 开启 3D 空间音效, false: 关闭 3D 空间音效。

详情

开启后,在世界内非小队成员的音频,会随与本人的距离、方向产生空间变化。

  • 调用时机:[getRangeSceneStream] 之后。
  • 默认值:Disable。
  • 支持版本:3.0.0 及以上。
  • 使用限制:使用 3D 空间音效需要使用媒体音量。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

mutePlayAudio:mute:

mutePlayAudio:mute:
- (int)mutePlayAudio:(NSString *) userID mute:(BOOL) mute;
设置是否接收指定用户的音频数据。
Declared in ZegoExpressDefines.h

参数

名称类型描述
userIDNSString *用户 ID。
muteBOOLtrue: 不接收用户的音频流,false: 接收用户的音频流。

详情

设置是否接收指定用户的音频数据。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:接收。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

mutePlayVideo:mute:

mutePlayVideo:mute:
- (int)mutePlayVideo:(NSString *) userID mute:(BOOL) mute;
设置是否接收指定用户的视频数据。
Declared in ZegoExpressDefines.h

参数

名称类型描述
userIDNSString *用户 ID。
muteBOOLtrue: 不接收用户的视频流,false: 接收用户的视频流。

详情

开启后,在世界内非小队成员的音频,会随与本人的距离、方向产生空间变化。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:接收。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneStreamEventHandler

Declared in ZegoExpressEventHandler.h

方法

rangeScene:userStreamStateUpdate:forUserID:streamID

rangeScene:userStreamStateUpdate:forUserID:streamID
- (void)rangeScene:(ZegoRangeScene *)rangeScene userStreamStateUpdate:(ZegoStreamState)state forUserID:(NSString *)userID streamID:(NSString *)streamID;
本端拉其他用户的流状态变更回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。
streamIDNSString *用户流 ID。
stateZegoStreamState用户流状态。

详情

本端拉其他用户的流状态变更回调通知。

  • 通知时机:本端拉其他用户的流状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:userMicUpdate:forUserID

rangeScene:userMicUpdate:forUserID
- (void)rangeScene:(ZegoRangeScene *)rangeScene userMicUpdate:(ZegoDeviceState)state forUserID:(NSString *)userID;
用户麦克风状态变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。
stateZegoDeviceState设备状态。

详情

用户麦克风状态变更回调。

  • 通知时机:用户麦克风状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:userCameraUpdate:forUserID

rangeScene:userCameraUpdate:forUserID
- (void)rangeScene:(ZegoRangeScene *)rangeScene userCameraUpdate:(ZegoDeviceState)state forUserID:(NSString *)userID;
用户摄像头状态变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。
stateZegoDeviceState设备状态。

详情

用户摄像头状态变更回调。

  • 通知时机:用户摄像头状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

rangeScene:userSpeakerUpdate:forUserID

rangeScene:userSpeakerUpdate:forUserID
- (void)rangeScene:(ZegoRangeScene *)rangeScene userSpeakerUpdate:(ZegoDeviceState)state forUserID:(NSString *)userID;
用户扬声器状态变更回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
userIDNSString *用户 ID。
stateZegoDeviceState设备状态。

详情

用户扬声器状态变更回调。

  • 通知时机:用户扬声器状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。

ZegoRangeSceneTeam

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (BOOL)setEventHandler:(nullable id<ZegoRangeSceneTeamEventHandler>) handler;
设置范围场景小队管理回调。
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoRangeSceneTeamEventHandler>用于接收范围场景小队管理回调的对象。

详情

设置范围场景小队管理模块回调。

  • 调用时机:通过 [getRangeSceneTeam] 获取范围场景小队管理之后。
  • 支持版本:3.1.0 及以上。

返回值

设置范围场景小队管理回调结果。true: 成功, false: 失败。

joinTeam:callback:

joinTeam:callback:
- (int)joinTeam:(ZegoTeamParam *) config callback:(nullable ZegoRangeSceneJoinTeamCallback) callback;
加入小队。
Declared in ZegoExpressDefines.h

参数

名称类型描述
configZegoTeamParam *小队参数。
callbacknullable ZegoRangeSceneJoinTeamCallback加入小队结果回调。

详情

加入小队。

  • 业务场景:常用于虚拟世界场景中,加入小队后,小队内成员可以相互看到,听到彼此。
  • 调用时机:通过 [loginScene] 登录范围场景后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

leaveTeam:callback:

leaveTeam:callback:
- (int)leaveTeam:(unsigned int) teamID callback:(nullable ZegoRangeSceneLeaveTeamCallback) callback;
离开小队。
Declared in ZegoExpressDefines.h

参数

名称类型描述
teamIDunsigned int小队 ID。
callbacknullable ZegoRangeSceneLeaveTeamCallback离开小队结果回调。

详情

离开小队。

  • 业务场景:常用于虚拟世界场景中,加入小队后,小队内成员可以相互看到,听到彼此。
  • 调用时机:通过 [joinTeam] 加入小队后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneTeamEventHandler

Declared in ZegoExpressEventHandler.h

方法

onTeamStateUpdate:state:errorCode:teamID:

onTeamStateUpdate:state:errorCode:teamID:
- (void)onTeamStateUpdate:(ZegoRangeScene *) rangeScene state:(ZegoTeamState) state errorCode:(int) errorCode teamID:(unsigned int) teamID;
小队状态变化通知
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
stateZegoTeamState变化后的小队状态。
errorCodeint错误码,详情请参考 常见错误码
teamIDunsigned int小队 ID。

详情

当小队的连接状态改变时触发该回调,并通知改变的原因。

  • 业务场景:开发者可以通过这个回调来判断小队内当前用户的状态。
  • 通知时机: 1. 开发者调用 [joinTeam]、[leaveTeam] 函数时会收到此通知。
  1. 用户设备的网络情况变化时也可能收到此通知 (SDK 在断线重连时会自动重新加入小队,详情请参考 SDK 是否支持断线重连机制
  • 相关接口:[joinTeam]、[leaveTeam]。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:若长时间处于正在请求连接状态(ZegoTeamStateLogining),一般是因为用户端网络不稳定导致。

onTeamMemberUpdate:updateType:userList:teamID:

onTeamMemberUpdate:updateType:userList:teamID:
- (void)onTeamMemberUpdate:(ZegoRangeScene *) rangeScene updateType:(ZegoUpdateType) updateType userList:(NSArray<ZegoUser *> *) userList teamID:(unsigned int) teamID;
小队内其他成员增加或减少的回调通知。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
rangeSceneZegoRangeScene *触发此次回调的范围场景实例。
updateTypeZegoUpdateType更新类型(添加/删除)。
userListNSArray<ZegoUser *> *当前小队内变更的用户列表。
teamIDunsigned int小队 ID。

详情

当小队内有其他用户上线或下线时,导致小队内用户列表发生变化,会通过本回调通知开发者。

  • 业务场景:开发者可以通过这个回调来实时更新小队内的用户列表展示。
  • 通知时机: 1. 用户首次加入小队时,如果小队内有其他用户,SDK 会触发 "updateType" 为 [ZegoUpdateTypeAdd] 的回调通知,此时 "userList" 为小队内的其他用户。 2. 用户已在小队内,如果有其他用户通过 [joinTeam] 函数加入到本小队,SDK 会触发 "updateType" 为 [ZegoUpdateTypeAdd] 的回调通知。 3. 用户已在小队内,有其他用户通过 [leaveTeam] 函数退出本小队,SDK 会触发 "updateType" 为 [ZegoUpdateTypeDelete] 的回调通知。
  • 相关接口:[joinTeam]、[leaveTeam]。
  • 支持版本:3.1.0 及以上。

ZegoRealTimeSequentialDataEventHandler

Declared in ZegoExpressEventHandler.h

方法

manager:receiveRealTimeSequentialData:streamID

manager:receiveRealTimeSequentialData:streamID
- (void)manager:(ZegoRealTimeSequentialDataManager *)manager receiveRealTimeSequentialData:(NSData *)data streamID:(NSString *)streamID;
收到实时有序数据回调
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
managerZegoRealTimeSequentialDataManager *触发此次回调的实时有序数据管理器实例。
dataNSData *收到的实时有序数据数据。
streamIDNSString *订阅的流 ID

详情

可通过此回调收到当前订阅中的流发来的实时有序数据。

  • 业务场景:当需要接收实时有序数据时需要监听此函数。 回调时机:调用了 [startSubscribing] 成功开始订阅后,且流上面发来数据时,会触发此回调。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无
  • 注意事项:无

ZegoRealTimeSequentialDataManager

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoRealTimeSequentialDataEventHandler>) handler;
设置实时有序数据管理器回调
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoRealTimeSequentialDataEventHandler>实时有序数据管理器回调

详情

设置实时有序数据管理器回调,用于监听如发送信令结果、收到信令等回调。

  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无。
  • 注意事项:调用此函数将覆盖上一次调用此函数设置的回调。

startBroadcasting:

startBroadcasting:
- (void)startBroadcasting:(NSString *) streamID;
开始广播实时有序数据流。
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 的字符串。
注意事项:
1. 需要在整个 AppID 内全局唯一(注意也不可以与 [startPublishingStream] 中传的流 ID 重复),若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
2. 仅支持数字,英文字符 和 '-', '_'。

详情

可通过此函数让用户将自己本地的实时有序数据流广播到 ZEGO RTC 服务器,同一房间的其他用户通过 "streamID" 就可以订阅该实时有序数据流进行互通。

  • 业务场景:在发送实时有序数据前,需要先调用此函数开始广播。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无
  • 注意事项:调用此函数后,本端将收到 [onPublisherStateUpdate] 回调,告知本端这条流的广播状态(推流状态),广播成功后,同一房间内的其他用户将会收到 [onRoomStreamUpdate] 回调,告知其他用户房间内新增了一条流。

stopBroadcasting:

stopBroadcasting:
- (void)stopBroadcasting:(NSString *) streamID;
停止广播实时有序数据流
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *需要停止广播的流 ID

详情

可通过此函数让用户停止广播自己本地的实时有序数据流。

  • 业务场景:当不再需要发送实时有序数据后,需要调用此函数停止广播。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无
  • 注意事项:调用此函数后,本端将收到 [onPublisherStateUpdate] 回调,告知本端这条流的广播状态(推流状态),停止广播后,同一房间内的其他用户将会收到 [onRoomStreamUpdate] 回调,告知其他用户房间内删除了一条流。

sendRealTimeSequentialData:streamID:callback:

sendRealTimeSequentialData:streamID:callback:
- (void)sendRealTimeSequentialData:(NSData *) data streamID:(NSString *) streamID callback:(nullable ZegoRealTimeSequentialDataSentCallback) callback;
在广播中的流 ID 上发送实时有序数据
Declared in ZegoExpressDefines.h

参数

名称类型描述
dataNSData *要发送的实时有序数据数据。
streamIDNSString *通过哪个流 ID 发送实时有序数据。
callbacknullable ZegoRealTimeSequentialDataSentCallback发送实时有序数据结果通知。

详情

可通过此函数在当前正在广播中的流上发送实时有序数据。

  • 业务场景:当需要发送实时有序数据时需要调用此函数。
  • 调用时机:调用了 [startBroadcasting] 成功开始广播后调用。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无
  • 注意事项:无

startSubscribing:

startSubscribing:
- (void)startSubscribing:(NSString *) streamID;
开始订阅实时有序数据流。
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。

详情

可通过此函数让用户可以从 ZEGO RTC 服务器订阅远端用户的实时有序数据流。

  • 业务场景:当需要接收来自其他用户发送的实时有序数据前,需要先调用此函数开始订阅对方的流。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无
  • 注意事项:调用此函数后,本端将收到 [onPlayerStateUpdate] 回调,告知本端这条流的订阅状态(拉流状态)。

stopSubscribing:

stopSubscribing:
- (void)stopSubscribing:(NSString *) streamID;
停止订阅实时有序数据流。
Declared in ZegoExpressDefines.h

参数

名称类型描述
streamIDNSString *需要停止订阅的流 ID

详情

可通过此函数停止订阅实时有序数据流。

  • 业务场景:当不再需要接收其他用户发送的实时有序数据后,需要调用此函数停止订阅对方的流。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无
  • 注意事项:调用此函数后,本端将收到 [onPlayerStateUpdate] 回调,告知本端这条流的订阅状态(拉流状态)。

getIndex

getIndex
- (NSNumber *)getIndex;
获取实时有序数据管理器索引。
Declared in ZegoExpressDefines.h

实时有序数据管理器索引。

ZegoReceiveRangeParam

接收范围配置。

Declared in ZegoExpressDefines.h

属性

min

min
nonatomic, assign float min

3D 音效具有衰减效果的最小距离值,该值需 >= 0 且 <= max, 默认值为 0。

max

max
nonatomic, assign float max

接收的最大范围,该值需 >= min, 默认值为 0。

ZegoReplayKitExt

Declared in ZegoExpressDefines.h

方法

sharedInstance

static
sharedInstance
+ (ZegoReplayKitExt *)sharedInstance;
创建屏幕采集扩展单例。
Declared in ZegoExpressDefines.h

创建屏幕采集扩展单例,用于 Broadcast upload Extension 进行将采集到的屏幕数据发送给 SDK。

  • 支持版本:3.1.0 及以上。

扩展单例对象

setupWithDelegate:

setupWithDelegate:
- (void)setupWithDelegate:(id<ZegoReplayKitExtHandler>)delegate API_AVAILABLE(ios (12.0));
初始化扩展进程。
Declared in ZegoExpressDefines.h

参数

名称类型描述
delegatenullable id<ZegoReplayKitExtHandler>屏幕采集扩展应用事件通知回调,传 [nil] 则意味着不接收任何回调通知。

详情

如果没有开启 App Group 配置,可以使用此接口进行初始化。

  • 业务场景:需要在 [RPBroadcastSampleHandler] 的实现类中的 [broadcastStartedWithSetupInfo] 方法中调用。
  • 支持版本:3.1.0 及以上。

setupWithDelegate:appGroup

setupWithDelegate:appGroup
- (void)setupWithDelegate:(id<ZegoReplayKitExtHandler>)delegate appGroup:(NSString *)groupID API_AVAILABLE(ios (12.0));
使用 App Group 进行初始化扩展进程,在屏幕共享时可以提供更好的性能与稳定性。
Declared in ZegoExpressDefines.h

参数

名称类型描述
delegatenullable id<ZegoReplayKitExtHandler>屏幕采集扩展应用事件通知回调,传 [nil] 则意味着不接收任何回调通知。
groupIDNSString *主应用和 extension 扩展应用应该归属于同一个 App Group,此处需要传入 AppGroupID。

详情

设置 AppGroupID 用于进程间共享内存,可以提高数据传输的性能与稳定性,同时必须在主 App 中启动 [startScreenCapture] 之前调用 [setAppGroupID:] 方法设置 AppGroupID。

  • 业务场景:需要在 [RPBroadcastSampleHandler] 的实现类中的 [broadcastStartedWithSetupInfo] 方法中调用。
  • 支持版本:3.3.0 及以上。

finished

finished
- (void)finished API_AVAILABLE(ios (12.0));
结束屏幕采集。
Declared in ZegoExpressDefines.h
  • 业务场景:通过系统控制中心停止录屏时,会回调 RPBroadcastSampleHandler.broadcastFinished,在 broadcastFinished 方法中调用。
  • 支持版本:3.1.0 及以上。

sendSampleBuffer:withType

sendSampleBuffer:withType
- (void)sendSampleBuffer:(CMSampleBufferRef)sampleBuffer withType:(RPSampleBufferType)sampleBufferType API_AVAILABLE(ios (12.0));
媒体数据发送方法
Declared in ZegoExpressDefines.h

参数

名称类型描述
sampleBufferCMSampleBufferRefCMSampleBuffer 对象,它包含视频或音频数据。
sampleBufferTypeRPSampleBufferType确定由 RPSampleBufferType 枚举定义的样本缓冲区的类型。
  • 业务场景:需要在 RPBroadcastSampleHandler 的实现类中的 processSampleBuffer: 方法中调用。
  • 支持版本:3.1.0 及以上。

ZegoReplayKitExtHandler

Declared in ZegoExpressEventHandler.h

方法

broadcastFinished:reason

broadcastFinished:reason
- (void)broadcastFinished:(ZegoReplayKitExt *_Nonnull)broadcast reason:(ZegoReplayKitExtReason)reason API_AVAILABLE(ios (12.0));
屏幕采集结束回调。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
broadcastZegoReplayKitExt *_Nonnull屏幕采集扩展应用实例。
reasonZegoReplayKitExtReason屏幕采集扩展应用结束信息。
  • 支持版本:3.1.0 及以上。 使用场景:需要在 RPBroadcastSampleHandler 的实现类中实现 ZegoReplayKitExtHandler 协议,获取到采集结束后的信息,调用 finishBroadcastWithError: 方法。

ZegoReverbAdvancedParam

音频混响高级参数

详情

开发者可以使用 SDK 的内置预置来改变混响的参数。

Declared in ZegoExpressDefines.h

属性

roomSize

roomSize
nonatomic, assign float roomSize

房间大小(百分比),取值范围 [0.0, 100.0],用于控制产生混响模拟的 “房间” 的大小,房间越大,混响越强

reverberance

reverberance
nonatomic, assign float reverberance

余响(百分比),取值范围 [0.0, 100.0],用于控制混响的拖尾长度

damping

damping
nonatomic, assign float damping

混响阻尼(百分比),取值范围 [0.0, 100.0],控制混响的衰减程度,阻尼越大,衰减越大

wetOnly

wetOnly
nonatomic, assign BOOL wetOnly

只有湿信号。设置只输出混响声音,不叠加原始输入声音,默认是false。

wetGain

wetGain
nonatomic, assign float wetGain

湿信号增益(dB),取值范围 [-20.0, 10.0]

dryGain

dryGain
nonatomic, assign float dryGain

干信号增益(dB),取值范围 [-20.0, 10.0]

toneLow

toneLow
nonatomic, assign float toneLow

低频衰减,默认为不衰减(100%)

toneHigh

toneHigh
nonatomic, assign float toneHigh

高频衰减,默认为不衰减(100%)

preDelay

preDelay
nonatomic, assign float preDelay

初始延迟时间(ms)。取值范围[0, 200]

stereoWidth

stereoWidth
nonatomic, assign float stereoWidth

立体声宽度(百分比),默认值为 0%

ZegoReverbEchoParam

音频混响回声参数

Declared in ZegoExpressDefines.h

属性

inGain

inGain
nonatomic, assign float inGain

输入音频信号的增益,取值范围 [0.0, 1.0]

outGain

outGain
nonatomic, assign float outGain

输出音频信号的增益,取值范围 [0.0, 1.0]

numDelays

numDelays
nonatomic, assign int numDelays

回声数量,取值范围 [0, 7]

delay

delay
nonatomic, copy NSArray<NSNumber *> * delay

回声信号分别的延时,单位为毫秒,取值范围 [0, 5000] ms

decay

decay
nonatomic, copy NSArray<NSNumber *> * decay

回声信号分别的衰减系数,取值范围 [0.0, 1.0]

ZegoReverbParam

音频混响参数

详情

开发者可以使用 SDK 的内置预置来改变混响的参数。

Declared in ZegoExpressDefines.h

属性

roomSize

roomSize
nonatomic, assign float roomSize

房间大小,取值范围 [0.0, 1.0],用于控制产生混响模拟的 “房间” 的大小,房间越大,混响越强

reverberance

reverberance
nonatomic, assign float reverberance

余响,取值范围 [0.0, 0.5],用于控制混响的拖尾长度

damping

damping
nonatomic, assign float damping

混响阻尼,取值范围 [0.0, 2.0],控制混响的衰减程度,阻尼越大,衰减越大

dryWetRatio

dryWetRatio
nonatomic, assign float dryWetRatio

干湿比,取值范围大于等于 0.0,控制混响与直达声和早期反射声之间的比 例,干(dry)的部分默认定为1,当干湿比设为较小时,湿(wet)的比例较大,此时混响较强

ZegoRoiRect

ROI 功能所使用的矩形坐标。

Declared in ZegoExpressDefines.h

属性

x

x
nonatomic, assign int x

矩形左上角在坐标系 X 轴上的值

y

y
nonatomic, assign int y

矩形左上角在坐标系 Y 轴上的值

width

width
nonatomic, assign int width

矩形宽度

height

height
nonatomic, assign int height

矩形高度

strength

strength
nonatomic, assign int strength

ROI 强度,当前支持的取值范围是 [0, 4],0 为无效果,4 为最强。

ZegoRoomConfig

房间进阶配置

详情

配置房间的最大用户数量、鉴权 token 等

Declared in ZegoExpressDefines.h

属性

maxMemberCount

maxMemberCount
nonatomic, assign unsigned int maxMemberCount

房间最大用户数量,传 0 视为不限制,默认无限制

isUserStatusNotify

isUserStatusNotify
nonatomic, assign BOOL isUserStatusNotify

是否开启用户进出房间回调通知 [onRoomUserUpdate],默认关闭。若开发者需要使用 ZEGO 房间用户广播通知,请确保每个登录的用户都将此标记设置为true

token

token
nonatomic, copy NSString * token

由开发者业务服务器下发的 token,用以保证安全性,生成规则请参考 使用 Token 鉴权,默认为空字符串,即不鉴权。2.17.0 及以上版本如果调用 [createEngine] 接口创建引擎时未传入appSign,或者appSign为空,则登录房间时必须设置此参数用于鉴权。

capabilityNegotiationTypes

capabilityNegotiationTypes
nonatomic, assign unsigned int capabilityNegotiationTypes

能力协商使能掩码标记位,参考 [ZegoRoomCapabilityNegotiationTypesBitMask] 枚举;当转换为二进制时,0b01 即 1 << 0 表示开启房间内全员协商, 0b10 即 1 << 1 表示开启麦上用户协商。掩码可组合以使不同的协商方式同时开启。

roomType

roomType
nonatomic, assign unsigned int roomType

房间类型,默认传0

方法

defaultConfig

static
defaultConfig
+ (instancetype)defaultConfig;
创建默认房间配置
Declared in ZegoExpressDefines.h

默认配置的参数为:房间最大用户数量无限制,不开启用户进出房间回调通知,不鉴权。

ZegoRoomConfig 实例

ZegoRoomExtraInfo

房间附加消息

Declared in ZegoExpressDefines.h

属性

key

key
nonatomic, copy NSString * key

房间附加消息的键

value

value
nonatomic, copy NSString * value

房间附加消息的值

updateUser

updateUser
nonatomic, strong ZegoUser * updateUser

更新房间附加消息的用户。请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

updateTime

updateTime
nonatomic, assign unsigned long long updateTime

房间附加消息的更新时间,UNIX 时间戳,单位为毫秒

ZegoRoomRecvTransparentMessage

收到房间的透传消息

详情

房间透传消息,包括消息内容,发送用户,发送类型,发送模式。

Declared in ZegoExpressDefines.h

属性

sendUser

sendUser
nonatomic, strong ZegoUser * sendUser

发送该消息的用户

content

content
nonatomic, strong NSData * content

收到的内容

ZegoRoomSendTransparentMessage

房间透传消息

详情

房间透传消息,包括房间id, 消息内容,发送用户,发送类型,发送模式,超时时间。

Declared in ZegoExpressDefines.h

属性

sendMode

sendMode
nonatomic, assign ZegoRoomTransparentMessageMode sendMode

发送模式

sendType

sendType
nonatomic, assign ZegoRoomTransparentMessageType sendType

发送类型

content

content
nonatomic, strong NSData * content

发送的内容

recvUserList

recvUserList
nonatomic, strong NSArray<ZegoUser *> * recvUserList

消息接收者列表,当sendType 指定为ZegoRoomTransparentMessageModeOnlyServer 可不填。当指定为 ZegoRoomTransparentMessageModeClientAndServer 或 ZegoRoomTransparentMessageModeOnlyClient 时,为空将发送给房间所有在线用户。

timeOut

timeOut
nonatomic, assign int timeOut

消息的发送超时时间,单位s, 默认10s。

ZegoRoomStreamList

房间内的流列表

详情

房间内的流列表

Declared in ZegoExpressDefines.h

属性

publishStreamList

publishStreamList
nonatomic, strong NSArray<ZegoStream *> * publishStreamList

推流列表。

playStreamList

playStreamList
nonatomic, strong NSArray<ZegoStream *> * playStreamList

拉流列表。

ZegoRtcStatsInfo

RTC 网络统计信息

Declared in ZegoExpressDefines.h

属性

totalTxBandwidth

totalTxBandwidth
nonatomic, assign double totalTxBandwidth

上行总带宽,单位kbps

avgTxRtt

avgTxRtt
nonatomic, assign unsigned int avgTxRtt

上行平均 rtt,单位毫秒

avgTxPacketLostRate

avgTxPacketLostRate
nonatomic, assign double avgTxPacketLostRate

上行平均丢包率,单位为百分比,0.0 ~ 1.0

totalRxBandwidth

totalRxBandwidth
nonatomic, assign double totalRxBandwidth

下行总带宽,单位kbps

avgRxRtt

avgRxRtt
nonatomic, assign unsigned int avgRxRtt

下行平均 rtt,单位毫秒

avgRxPacketLostRate

avgRxPacketLostRate
nonatomic, assign double avgRxPacketLostRate

下行平均丢包率,单位为百分比,0.0 ~ 1.0

avgPeerToPeerDelay

avgPeerToPeerDelay
nonatomic, assign unsigned int avgPeerToPeerDelay

平均端到端延迟,单位毫秒

ZegoSEIConfig

SEI 配置

详情

用于设置媒体增强补充信息的相关配置。

Declared in ZegoExpressDefines.h

属性

type

type
nonatomic, assign ZegoSEIType type

SEI 类型

方法

defaultConfig

defaultConfig
- (void)+ (instancetype)defaultConfig;
创建默认 SEI 配置对象
Declared in ZegoExpressDefines.h

ZegoSEIConfig 实例

ZegoSceneConfig

场景配置。

Declared in ZegoExpressDefines.h

属性

channelCount

channelCount
unsigned int channelCount

state_channel 通道数。

ZegoSceneParam

场景参数。

Declared in ZegoExpressDefines.h

属性

user

user
nonatomic, strong, nonnull ZegoUser * user

用户对象实例,配置用户 ID、用户名。 注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登录的用户踢掉先登录的用户的情况。

sceneID

sceneID
long long sceneID

场景 ID。

templateID

templateID
unsigned int templateID

场景模板 ID。

position

position
nonatomic, strong, nonnull ZegoPosition * position

用户位置

broadcastMode

broadcastMode
ZegoBroadcastMode broadcastMode
  • 默认值:ALL。

token

token
NSString * token

鉴权 token。

ZegoScenePlayerConfig

场景拉流进阶配置。

Declared in ZegoExpressDefines.h

属性

rangeSceneHandle

rangeSceneHandle
nonatomic, assign int rangeSceneHandle

范围场景句柄,通过 ZegoRangeScene 对象的 [getHandle] 获取。

resourceMode

resourceMode
nonatomic, assign ZegoStreamResourceMode resourceMode

拉流资源策略模式。

cdnConfig

cdnConfig
nonatomic, strong, nullable ZegoCDNConfig * cdnConfig

拉流的 CDN 配置,若设置后,则按照 URL 拉流而不是按照 streamID 拉流,此后 streamID 仅作为 SDK 内部回调的标识。

ZegoScenePublisherConfig

场景推流进阶配置。

Declared in ZegoExpressDefines.h

属性

rangeSceneHandle

rangeSceneHandle
nonatomic, assign int rangeSceneHandle

范围场景句柄,通过 ZegoRangeScene 对象的 [getHandle] 获取。

ZegoSceneStreamConfig

场景推拉流模式。

Declared in ZegoExpressDefines.h

属性

enablePlayInRange

enablePlayInRange
BOOL enablePlayInRange

是否允许拉范围内的流。

enablePublishToWorld

enablePublishToWorld
BOOL enablePublishToWorld

是否允许推流到世界。

ZegoScreenCaptureConfig

屏幕采集配置参数。

Declared in ZegoExpressDefines.h

属性

captureVideo

captureVideo
nonatomic, assign BOOL captureVideo

屏幕共享时是否采集视频。默认为 true。

captureAudio

captureAudio
nonatomic, assign BOOL captureAudio

屏幕共享时是否采集音频。默认为 true。

microphoneVolume

microphoneVolume
nonatomic, assign unsigned int microphoneVolume

设置屏幕录制时 Microphone 音频音量。范围为 0 ~ 200,默认为 100。(仅适用 iOS 平台)

applicationVolume

applicationVolume
nonatomic, assign unsigned int applicationVolume

设置屏幕录制时 Application 音频音量。范围为 0 ~ 200,默认为 100。(适用于 iOS 和 Android 平台)

cropRect

cropRect
nonatomic, assign CGRect cropRect

设置屏幕录制时裁剪矩形,裁剪矩形必须被原始数据的矩形包含,单位为像素。(仅适用 iOS/Android 平台)

orientation

orientation
nonatomic, assign ZegoScreenCaptureOrientation orientation

设置屏幕录制时采集画面的朝向,将会对采集画面做固定朝向。(仅适用 iOS/Android 平台)

muteExtensMicrophone

muteExtensMicrophone
nonatomic, assign BOOL muteExtensMicrophone

设置是否屏蔽扩展进程的麦克风的声音,默认为 false。(仅适用于 iOS 平台)

audioDeviceMode

audioDeviceMode
nonatomic, assign ZegoScreenCaptureAudioDeviceMode audioDeviceMode
  • 注意事项:1. 只有当音频主源一直为麦克风时,音频设备模式才生效;
  1. 只作用于 [startScreenCapture] 接口,[updateScreenCapture] 不生效;
  2. 采集过程中音频设备模式发生变化导致屏幕采集音频输出异常,可以通过 [onMobileScreenCaptureExceptionOccurred] 回调监听 AudioDeviceException,如有必要,需要重启采集;
  3. 停止采集后会恢复采集之前的音频设备模式。

ZegoScreenCaptureSource

Declared in ZegoExpressDefines.h

方法

setEventHandler:

setEventHandler:
- (void)setEventHandler:(nullable id<ZegoScreenCaptureSourceEventHandler>) handler;
设置屏幕采集源回调
Declared in ZegoExpressDefines.h

参数

名称类型描述
handlernullable id<ZegoScreenCaptureSourceEventHandler>屏幕采集源回调。

详情

设置屏幕采集源回调,用于监听采集数据的回调。

  • 调用时机:创建 [ZegoScreenCaptureSource] 实例后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:调用此函数将覆盖上一次调用此函数设置的回调。

updateCaptureSource:sourceType:

updateCaptureSource:sourceType:
- (void)updateCaptureSource:(unsigned int) sourceId sourceType:(ZegoScreenCaptureSourceType) sourceType;
更新屏幕采集源
Declared in ZegoExpressDefines.h

参数

名称类型描述
sourceIdunsigned int指定的屏幕 ID 或窗口 ID。
sourceTypeZegoScreenCaptureSourceType指定的屏幕源类型。

详情

根据提供的源的 ID 和源的类型更新屏幕采集源对象。

  • 业务场景:需要对屏幕或窗口有录制和分享等业务时使用。
  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

startCapture

startCapture
- (void)startCapture;
开始屏幕采集。
Declared in ZegoExpressDefines.h

开始屏幕采集。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。

stopCapture

stopCapture
- (void)stopCapture;
停止屏幕采集。
Declared in ZegoExpressDefines.h

停止屏幕采集。

  • 支持版本:3.1.0 及以上。

getCaptureSourceRect

getCaptureSourceRect
- (CGRect)getCaptureSourceRect;
获取屏幕采集源的矩形。
Declared in ZegoExpressDefines.h

获取屏幕采集源的矩形。

  • 支持版本:3.6.0 及以上
  • 使用限制:开始采集 [startScreenCapture] 之后调用,只适用于 Windows/macOS 系统。

采集资源的矩形信息

updateCaptureRegion:

updateCaptureRegion:
- (void)updateCaptureRegion:(CGRect) rect;
更新屏幕采集的区域。
Declared in ZegoExpressDefines.h

参数

名称类型描述
rectCGRect待采集区域相对于整个屏幕或窗口的位置。

详情

更新屏幕采集的区域。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS 系统

updatePublishRegion:

updatePublishRegion:
- (void)updatePublishRegion:(CGRect) rect;
更新屏幕采集的推流区域。
Declared in ZegoExpressDefines.h

参数

名称类型描述
rectCGRect待推流区域相对于采集画面左上角的位置,实际采集画面尺寸可以通过 [onAvailableFrame] 获取

详情

更新屏幕采集的推流区域。

  • 调用时机:更新屏幕采集源 [updateScreenCaptureSource] 之后。
  • 支持版本:3.8.0 及以上。
  • 使用限制:每次更新屏幕采集源 [updateScreenCaptureSource] 时会清空区域,需要重新设置,只适用于 Windows/macOS 系统。
  • 注意事项:设置的区域不能超过 [onAvailableFrame] 返回的尺寸,否则会设置失败并推流原始画面。推流区域失效会通过 [onExceptionOccurred] 通知。

setExcludeWindowList:

setExcludeWindowList:
- (void)setExcludeWindowList:(NSArray<NSNumber *> *) list;
设置过滤的窗口列表。
Declared in ZegoExpressDefines.h

参数

名称类型描述
listNSArray<NSNumber *> *过滤窗口的 ID 列表。

详情

指定窗口列表,在采集屏幕时将这些窗口过滤,不在画面中显示。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

enableWindowActivate:

enableWindowActivate:
- (void)enableWindowActivate:(BOOL) active;
是否激活窗口提升至前台显示。
Declared in ZegoExpressDefines.h

参数

名称类型描述
activeBOOL是否激活窗口。true 为激活窗口,false 不激活窗口,默认 true。

详情

在采集目标为窗口的情况下,初次采集时,设置是否激活窗口提升至前台显示。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

enableCursorVisible:

enableCursorVisible:
- (void)enableCursorVisible:(BOOL) visible;
设置是否显示光标
Declared in ZegoExpressDefines.h

参数

名称类型描述
visibleBOOL是否显示光标。true 为显示光标,false 不显示光标,默认 false。

详情

设置是否显示光标。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

enableHightLight:config:

enableHightLight:config:
- (void)enableHightLight:(BOOL) enable config:(ZegoLayerBorderConfig *) config;
设置是否高亮采集区域
Declared in ZegoExpressDefines.h

参数

名称类型描述
enableBOOL是否高亮采集区域。true 为高亮,false 不高亮,默认 false。
configZegoLayerBorderConfig *高亮采集区域边框配置。

详情

设置是否高亮采集区域。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.21.0 及以上。
  • 使用限制:只适用于 Windows/macOS

getIndex

getIndex
- (NSNumber *)getIndex;
获取屏幕采集源索引。
Declared in ZegoExpressDefines.h

屏幕采集源索引。

ZegoScreenCaptureSourceEventHandler

Declared in ZegoExpressEventHandler.h

方法

screenCapture:availableFrame:dataLength:param

screenCapture:availableFrame:dataLength:param
- (void)screenCapture:(ZegoScreenCaptureSource *)source availableFrame:(const void *)data dataLength:(unsigned int)dataLength param:(ZegoVideoFrameParam *)param;
屏幕采集数据的回调
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
sourceZegoScreenCaptureSource *回调的屏幕采集源实例。
dataconst void *屏幕采集图像帧的裸数据(例:RGBA 只需考虑 data[0],I420 需考虑 data[0,1,2])。
dataLengthunsigned int数据的长度(例:RGBA 只需考虑 dataLength[0],I420 需考虑 dataLength[0,1,2])。
paramZegoVideoFrameParam *屏幕采集图像帧参数。

详情

屏幕采集数据的回调。

  • 通知时机:屏幕开始采集 [startCapture] 后会触发此回调。
  • 支持版本:3.1.0 及以上。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

screenCapture:exceptionOccurred

screenCapture:exceptionOccurred
- (void)screenCapture:(ZegoScreenCaptureSource *)source exceptionOccurred:(ZegoScreenCaptureSourceExceptionType)exceptionType;
屏幕采集异常通知
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
sourceZegoScreenCaptureSource *回调的屏幕采集源实例。
exceptionTypeZegoScreenCaptureSourceExceptionType采集源异常类型。

详情

屏幕采集错误通知。

  • 通知时机:屏幕开始采集后产生异常会触发此回调。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

screenCapture:captureType:exceptionOccurred

screenCapture:captureType:exceptionOccurred
- (void)screenCapture:(ZegoScreenCaptureSource *)source captureType:(ZegoScreenCaptureSourceType)sourceType exceptionOccurred:(ZegoScreenCaptureSourceExceptionType)exceptionType;
屏幕采集采集源异常通知
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
sourceZegoScreenCaptureSource *回调的屏幕采集源实例。
sourceTypeZegoScreenCaptureSourceType采集源类型。
exceptionTypeZegoScreenCaptureSourceExceptionType采集源异常类型。

详情

屏幕采集采集源异常通知。

  • 通知时机:屏幕开始采集后产生异常会触发此回调。
  • 支持版本:3.21.0 及以上。
  • 使用限制:只适用于 Windows/macOS。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

screenCapture:windowState:windowRect

screenCapture:windowState:windowRect
- (void)screenCapture:(ZegoScreenCaptureSource *)source windowState:(ZegoScreenCaptureWindowState)windowState windowRect:(CGRect)windowRect;
采集目标窗口状态发生改变。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
sourceZegoScreenCaptureSource *回调的屏幕采集源实例。
windowStateZegoScreenCaptureWindowState采集的窗口状态。
windowRectZegoRect采集的窗口矩形。
  • 支持版本:3.4.0 及以上。
  • 使用限制:只适用于 Windows/macOS
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

screenCapture:rectChanged

screenCapture:rectChanged
- (void)screenCapture:(ZegoScreenCaptureSource *)source rectChanged:(CGRect)rect;
采集区域发生改变。
Declared in ZegoExpressEventHandler.h

参数

名称类型描述
sourceZegoScreenCaptureSource *回调的屏幕采集源实例。
rectZegoRect采集的区域矩形。
  • 支持版本:3.7.0 及以上。
  • 使用限制:只适用于 Windows/macOS
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

ZegoScreenCaptureSourceInfo

屏幕采集源信息。

Declared in ZegoExpressDefines.h

属性

sourceType

sourceType
nonatomic, assign ZegoScreenCaptureSourceType sourceType

屏幕采集的目标类型。(仅适用于桌面端)

sourceID

sourceID
nonatomic, assign unsigned int sourceID

采集源的 ID。

sourceName

sourceName
nonatomic, copy NSString * sourceName

采集源名称(采用 UTF8 编码)。

thumbnailImage

thumbnailImage
nonatomic, copy ZGImage * _Nullable thumbnailImage

采集窗口的缩略图。

iconImage

iconImage
nonatomic, copy ZGImage * _Nullable iconImage

图标的图像内容。

ZegoSoundLevelConfig

启动声浪监控的配置

详情

用于 startSoundLevelMonitor 函数,其中的 enableVAD 参数用于设置声浪回调是否检测 VAD,开启后结果将从 [onCapturedSoundLevelInfoUpdate] 和 [onRemoteSoundLevelInfoUpdate] 回调中体现。

  • 业务场景:开发者需要判断用户说话音量是否太小时,可开启 VAD 声音检测。
  • 支持版本:2.10.0 及以上。
  • 注意事项:VAD 算法有性能开销,建议按需设置。

Declared in ZegoExpressDefines.h

属性

millisecond

millisecond
nonatomic, assign unsigned int millisecond

声浪的监控时间周期,单位为毫秒,取值范围 [100, 3000]。默认 100 ms。

enableVAD

enableVAD
nonatomic, assign BOOL enableVAD

设置声浪回调是否包含 VAD 检测结果。

ZegoSoundLevelInfo

声浪信息对象

Declared in ZegoExpressDefines.h

属性

soundLevel

soundLevel
nonatomic, assign float soundLevel

音浪值

vad

vad
nonatomic, assign int vad

StreamID 对应的流是否包含声音,0: 表示噪声,1: 表示正常声音;调用 [startSoundLevelMonitor] 时设置的 ZegoSoundLevelConfig 配置中的 enableVAD 参数设为 true 后此值才有效。

ZegoStream

音视频流对象

详情

标识一条音视频流

Declared in ZegoExpressDefines.h

属性

user

user
nonatomic, strong ZegoUser * user

用户对象实例。请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

streamID

streamID
nonatomic, copy NSString * streamID
  • 注意事项:不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '-', '_'。

extraInfo

extraInfo
nonatomic, copy NSString * extraInfo

流附加信息

ZegoStreamRelayCDNInfo

转推 CDN 信息

详情

包括转推 CDN 的 URL、转推状态等

Declared in ZegoExpressDefines.h

属性

url

url
nonatomic, copy NSString * url

CDN 推流的 URL

state

state
nonatomic, assign ZegoStreamRelayCDNState state

转推状态

updateReason

updateReason
nonatomic, assign ZegoStreamRelayCDNUpdateReason updateReason

转推状态变更的原因

stateTime

stateTime
nonatomic, assign unsigned long long stateTime

状态发生的时间,UNIX 时间戳,单位为毫秒

ZegoSwitchPlayingStreamConfig

供 [switchPlayingStream] 接口使用的扩展参数。

详情

供 [switchPlayingStream] 接口使用的扩展参数。

Declared in ZegoExpressDefines.h

属性

switchType

switchType
nonatomic, assign ZegoSwitchPlayingStreamType switchType

切换拉流类型。

ZegoTeamParam

小队参数。

Declared in ZegoExpressDefines.h

属性

teamID

teamID
unsigned int teamID

小队 ID。

ZegoTestNetworkConnectivityResult

网络连通性测试结果

Declared in ZegoExpressDefines.h

属性

connectCost

connectCost
nonatomic, assign unsigned int connectCost

连接耗时

ZegoTrafficControlInfo

外部编码的流控信息

Declared in ZegoExpressDefines.h

属性

fps

fps
nonatomic, assign int fps

需要调整的视频帧率

bitrate

bitrate
nonatomic, assign int bitrate

需要调整的视频码率,单位为 kbps

resolution

resolution
nonatomic, assign CGSize resolution

需要调整的视频分辨率

ZegoUser

用户对象

详情

配置用户 ID 和用户名,用于标识房间内的用户。 注意 userID 在同一个 appID 下需唯一,否则登录房间时会出现互踢的情况。 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。

Declared in ZegoExpressDefines.h

属性

userID

userID
nonatomic, copy NSString * userID
  • 隐私保护声明:请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 注意事项:仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。如果需要与 Web SDK 互通,请不要使用 '%'。

userName

userName
nonatomic, copy NSString * userName

用户名,最大长度不超过 256 字节的utf8编码字符串。请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

方法

userWithUserID

userWithUserID
+ (instancetype)userWithUserID:(NSString *)userID;
创建用户对象
Declared in ZegoExpressDefines.h

userName 与 userID 设为一致

ZegoUser 实例

initWithUserID

initWithUserID
- (instancetype)initWithUserID:(NSString *)userID;
创建用户对象
Declared in ZegoExpressDefines.h

userName 与 userID 设为一致

userWithUserID:userName

userWithUserID:userName
+ (instancetype)userWithUserID:(NSString *)userID userName:(NSString *)userName;
创建用户对象
Declared in ZegoExpressDefines.h

ZegoUser 实例

initWithUserID:userName

initWithUserID:userName
- (instancetype)initWithUserID:(NSString *)userID userName:(NSString *)userName;
创建用户对象
Declared in ZegoExpressDefines.h

ZegoUser 实例

ZegoVideoConfig

视频配置

详情

配置码率、帧率、分辨率等推流用到的参数。 开发者应该注意的是,移动端与桌面端的宽高分辨率是相反的,例如,360p,移动端的分辨率为 360x640,而桌面端为 640x360。 使用外部采集时,RTC的采集和编码分辨率不能设置为0*0,不然会导致整个引擎生命周期里的推流,都没有视频数据。

Declared in ZegoExpressDefines.h

属性

captureResolution

captureResolution
nonatomic, assign CGSize captureResolution

采集分辨率,控制摄像头图像采集的分辨率。SDK 要求将宽和高设置为偶数。仅摄像头启动前且没有使用自定义视频采集时,设置有效。出于性能考虑,SDK 在采集摄像头画面后、渲染预览画面之前,就将视频帧缩放为编码分辨率,因此预览画面的分辨率是编码分辨率,如果您需要预览画面的分辨率为此值,请先调用 [setCapturePipelineScaleMode] 将采集缩放模式改为 [Post]

encodeResolution

encodeResolution
nonatomic, assign CGSize encodeResolution

编码分辨率,控制编码器编码推流的图像分辨率。SDK 要求将宽和高设置为偶数。推流前后设置均可生效

fps

fps
nonatomic, assign int fps

帧率,控制摄像头采集帧率以及编码器编码帧率的大小。推流端设置60帧,拉流端生效需联系技术支持

bitrate

bitrate
nonatomic, assign int bitrate

码率,单位为 kbps。推流前后设置均可生效。SDK 会根据开发者选择的场景,自动设置适配该场景的码率。若开发者手动设置的码率超出合理范围,SDK会自动按照合理区间处理码率。如因业务需要配置高码率,请联系 ZEGO 商务。

codecID

codecID
nonatomic, assign ZegoVideoCodecID codecID

要使用的编码器,默认为 default。仅在推流前设置生效

keyFrameInterval

keyFrameInterval
nonatomic, assign int keyFrameInterval

视频关键帧间隔,单位秒。

  • 是否必填:否。
  • 默认值:2秒。
  • 取值范围:[2, 5]。
  • 注意事项:仅在推流前设置有效。

方法

defaultConfig

defaultConfig
- (void)+ (instancetype)defaultConfig;
创建默认视频配置
Declared in ZegoExpressDefines.h

360p, 15fps, 600kbps

ZegoVideoConfig 实例

configWithPreset

configWithPreset
- (void)+ (instancetype)configWithPreset:(ZegoVideoConfigPreset)preset;
通过预设枚举值创建视频配置
Declared in ZegoExpressDefines.h

ZegoVideoConfig 实例

initWithPreset

initWithPreset
- (instancetype)initWithPreset:(ZegoVideoConfigPreset)preset;
通过预设枚举值创建视频配置
Declared in ZegoExpressDefines.h

ZegoVideoConfig 实例

ZegoVideoDenoiseParams

视频降噪参数。

Declared in ZegoExpressDefines.h

属性

mode

mode
nonatomic, assign ZegoVideoDenoiseMode mode

视频降噪模式。

  • 默认值:Off。

strength

strength
nonatomic, assign ZegoVideoDenoiseStrength strength

视频降噪强度。

  • 默认值:Light。

ZegoVideoEncodedFrameParam

编码视频帧的参数对象

详情

包括视频帧的格式、宽高等

Declared in ZegoExpressDefines.h

属性

format

format
nonatomic, assign ZegoVideoEncodedFrameFormat format

视频帧的格式

isKeyFrame

isKeyFrame
nonatomic, assign BOOL isKeyFrame

是否为关键帧

rotation

rotation
nonatomic, assign int rotation

视频帧的逆时针旋转角度

size

size
nonatomic, assign CGSize size

视频帧的画面尺寸

SEIData

SEIData
nonatomic, strong, nullable NSData * SEIData

SEI 数据 (可选,若不需要传输则设置为空。不推荐使用,推荐使用 [sendSEI] 替代 )。当 format 设置为 [AVCC] 或者 [AnnexB] 时,此成员有效

isExternalClock

isExternalClock
nonatomic, assign BOOL isExternalClock

自定义视频采集时,是否由开发者自行控制外部时间戳进行音画同步。默认为 false。当设置为 false 时,SDK 会结合音频帧和视频帧的外部时间戳进行调整,以保证音视频同步。当设置为 true 时,SDK 不会调整外部时间戳,由开发者自行结合音频帧和视频帧的外部时间戳进行调整,以保证音视频同步。

ZegoVideoFrameParam

视频帧的参数对象

详情

包括视频帧的格式、宽高等

Declared in ZegoExpressDefines.h

属性

format

format
nonatomic, assign ZegoVideoFrameFormat format

视频帧的格式

strides

strides
nonatomic, assign int * strides

每个平面上单行像素的字节数(此参数为 int 数组,数组长度为4,BGRA 只需考虑 strides[0],I420 需考虑 strides[0,1,2])

rotation

rotation
nonatomic, assign int rotation

视频帧的旋转角度,SDK 以顺时针方向旋转

size

size
nonatomic, assign CGSize size

视频帧的画面尺寸

ZegoVocalRangeParam

发声范围配置。

Declared in ZegoExpressDefines.h

属性

min

min
nonatomic, assign float min

3D 音效具有衰减效果的最小距离值,该值需 >= 0 且 <= max, 默认值为 0。

max

max
nonatomic, assign float max

发声的最大范围,该值需 >= min, 默认值为 0。

ZegoVoiceChangerParam

变声器参数

详情

开发者可以使用 SDK 的内置预置来改变变声器的参数。

Declared in ZegoExpressDefines.h

属性

pitch

pitch
nonatomic, assign float pitch

音调参数,取值范围 [-12.0, 12.0],数值越大声音越尖,设为 0.0 即关闭变声器。注意在 2.18.0 及更老版本上,取值范围为 [-8.0, 8.0]。

ZegoWatermark

水印对象

详情

配置一个水印的图片 URL 以及该水印在画面中的大小方位。

Declared in ZegoExpressDefines.h

属性

imageURL

imageURL
nonatomic, copy NSString * imageURL

水印图片路径。支持本地文件绝对路径 (file://xxx)、Asset 资源路径 (asset://xxx)。 格式支持 png、jpg。最大长度要小于 512 字节。

layout

layout
nonatomic, assign CGRect layout

水印图片的大小方位

方法

initWithImageURL:layout

initWithImageURL:layout
- (instancetype)initWithImageURL:(NSString *)imageURL layout:(CGRect)layout;
创建水印对象
Declared in ZegoExpressDefines.h

ZegoWatermark 实例

Previous

功能总览

Next

Protocol

当前页

返回到顶部