ZegoAudioRoomApi Class Reference

Inherits from NSObject
Declared in ZegoAudioRoomApi.h

Other Methods

+ setUseTestEnv:

是否启用测试环境

+ (void)setUseTestEnv:(bool)useTestEnv

Parameters

useTestEnv

是否使用测试环境

Declared In

ZegoAudioRoomApi.h

+ setVerbose:

调试信息开关

+ (void)setVerbose:(bool)bOnVerbose

Parameters

bOnVerbose

是否使用测试环境

Discussion

建议在调试阶段打开此开关,方便调试。默认关闭

Declared In

ZegoAudioRoomApi.h

+ uploadLog

触发日志上报

+ (void)uploadLog

Discussion

在初始化 SDK 成功后调用

Declared In

ZegoAudioRoomApi.h

+ setUserID:userName:

设置用户ID及用户名

+ (bool)setUserID:(NSString *)userID userName:(NSString *)userName

Parameters

userID

用户ID

userName

用户名

Return Value

设置结果

Declared In

ZegoAudioRoomApi.h

+ setLogSize:

设置SDK日志大小

+ (void)setLogSize:(unsigned int)size

Parameters

size

单个日志大小,单位为字节。取值范围[1 * 1024 * 1024, 100 * 1024 * 1024],推荐 5 * 1024 * 1024 及以上。当设置为 0 时,不写日志(不推荐,当 SDK 出问题时无法定位原因)

Discussion

在初始化 SDK 之前调用有效

SDK 默认单个日志文件大小为 5M

Declared In

ZegoAudioRoomApi.h

+ setLogDir:size:subFolder:

设置SDK日志存储目录及大小

+ (void)setLogDir:(NSString *)logDir size:(unsigned int)size subFolder:(NSString *)subFolder

Parameters

logDir

日志文件存储路径,如果为空,则存储到默认路径

size

单个日志大小,单位为字节。取值范围[1 * 1024 * 1024, 100 * 1024 * 1024],推荐 5 * 1024 * 1024 及以上. 当设置为 0 时,不写日志(不推荐,当 SDK 出问题时无法定位原因)

subFolder

日志存储子文件夹,当为空时,不创建子文件夹。该文件夹是 logDir 的子目录。

Discussion

在初始化 SDK 之前调用有效

Declared In

ZegoAudioRoomApi.h

+ setConfig:

设置配置信息,如果没有特殊说明,必须确保在 InitSDK 前调用

+ (void)setConfig:(NSString *)config

Parameters

config

配置信息

Discussion

具体配置信息请咨询技术支持

Declared In

ZegoAudioRoomApi.h

– initWithAppID:appSignature:

初始化SDK

- (instancetype)initWithAppID:(unsigned int)appID appSignature:(NSData *)appSignature

Parameters

appID

Zego派发的数字ID, 各个开发者的唯一标识

appSignature

Zego派发的签名, 用来校验对应appID的合法性

Return Value

api 实例,nil 表示初始化失败

Declared In

ZegoAudioRoomApi.h

– setAudioRoomDelegate:

设置房间的 delegate

- (void)setAudioRoomDelegate:(id<ZegoAudioRoomDelegate>)roomDelegate

Parameters

roomDelegate

房间 delegate

Declared In

ZegoAudioRoomApi.h

– setManualPublish:

设置是否需要手动发布直播

- (void)setManualPublish:(bool)manual

Parameters

manual

是否手动发布直播,YES:手动发布直播,NO:进入房间后自动发布直播。默认为 NO

Discussion

必须在登录房间前调用

Declared In

ZegoAudioRoomApi.h

– setManualPlay:

设置是否需要手动播放

- (void)setManualPlay:(bool)manual

Parameters

manual

是否手动播放,YES:手动播放,NO:收到流更新后自动播放。默认为 NO

Discussion

必须在登录房间前调用

Declared In

ZegoAudioRoomApi.h

– setCustomToken:

设置自定义token信息

- (void)setCustomToken:(NSString *)thirdPartyToken

Parameters

thirdPartyToken

第三方传入的token

Discussion

使用此方法验证登录及推流时用户的合法性,登录房间前调用,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数。

在登录房间前调用有效,支持在登录房间后重新设置,退出房间后失效

Declared In

ZegoAudioRoomApi.h

– loginRoom:completionBlock:

登录房间

- (bool)loginRoom:(NSString *)roomID completionBlock:(ZegoAudioRoomBlock)block

Parameters

roomID

房间唯一ID

block

房间登录结果回调

Return Value

调用登录房间的结果

Declared In

ZegoAudioRoomApi.h

– switchRoom:completionBlock:

切换房间 调用成功 会停止推拉流(登录房间成功后,需要快速切换到其它房间时使用)

- (bool)switchRoom:(NSString *)roomID completionBlock:(ZegoAudioRoomBlock)block

Parameters

roomID

房间唯一ID

block

切换房间结果回调

Return Value

返回结果 true 成功 false 失败

Declared In

ZegoAudioRoomApi.h

– logoutRoom

退出房间

- (bool)logoutRoom

Return Value

true 成功,false 失败

Discussion

会停止所有的推拉流

Declared In

ZegoAudioRoomApi.h

– setAudioLiveEventDelegate:

设置直播事件代理对象

- (void)setAudioLiveEventDelegate:(id<ZegoAudioLiveEventDelegate>)liveEventDelegate

Parameters

liveEventDelegate

遵循 ZegoAudioLiveEventDelegate 协议的代理对象

Discussion

设置代理对象成功后,在 [ZegoAudioLiveEventDelegate -zego_onLiveEvent:info:] 中获取直播状态,状态参考 ZegoLiveEvent 定义。未设置代理对象,或对象设置错误,可能导致无法正常收到相关回调

Declared In

ZegoAudioRoomApi.h

– setAudioDeviceEventDelegate:

设置音视频设备错误回调代理对象

- (void)setAudioDeviceEventDelegate:(id<ZegoAudioDeviceEventDelegate>)deviceEventDelegate

Parameters

deviceEventDelegate

遵循 ZegoAudioDeviceEventDelegate 协议的代理对象

Discussion

开发者获取音视频设备错误,需要先设置此代理对象。未设置代理对象,或对象设置错误,可能导致无法正常收到相关回调

Declared In

ZegoAudioRoomApi.h

– pauseAudioModule

暂停模块

- (void)pauseAudioModule

Discussion

用于需要暂停指定模块的场合,例如来电时暂定音频模块。暂停指定模块后,注意在合适时机下恢复模块

Declared In

ZegoAudioRoomApi.h

– resumeAudioModule

恢复模块

- (void)resumeAudioModule

Discussion

用于需要恢复指定模块的场合,例如来电结束后恢复音频模块。暂停指定模块后,注意在合适时机下恢复模块

Declared In

ZegoAudioRoomApi.h

– setAudioRouteDelegate:

设置音频路由回调

- (void)setAudioRouteDelegate:(id<ZegoAudioRouteDelegate>)delegate

Parameters

delegate

回调

Declared In

ZegoAudioRoomApi.h

– setSystemPlayoutVolumeBeforeMixing:

设置系统声卡采集的音量

- (bool)setSystemPlayoutVolumeBeforeMixing:(int)volume

Parameters

volume

音量, 有效范围[0, 200], 默认为 100

Return Value

true 表示设置成功, false 表示失败

Discussion

Note: 在 SDK 生命周期内有效

Declared In

ZegoAudioRoomApi.h

– enableMicDevice:

设置是否允许SDK使用麦克风设备

- (BOOL)enableMicDevice:(BOOL)enable

Parameters

enable

YES 表示允许使用麦克风,NO 表示禁止使用麦克风,此时如果SDK在占用麦克风则会立即释放。

Return Value

YES 调用成功 NO 调用失败

Discussion

调用时机为引擎创建后的任意时刻。

Note: 接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用

Declared In

ZegoAudioRoomApi.h

– setAVEngineDelegate:

Engine停止回调

- (void)setAVEngineDelegate:(id<ZegoAVEngineDelegate>)engineDelegate

Parameters

engineDelegate

engine Delegate

Declared In

ZegoAudioRoomApi.h

– setUserStateUpdate:

设置用户进入/退出房间是否通知其他用户

- (void)setUserStateUpdate:(bool)userStateUpdate

Parameters

userStateUpdate

是否需要通知其他用户

Discussion

默认不通知

Declared In

ZegoAudioRoomApi.h

– sendCustomCommand:content:completion:

发送自定义信令

- (bool)sendCustomCommand:(NSArray<ZegoUser*> *)memberList content:(NSString *)content completion:(ZegoCustomCommandBlock)block

Parameters

memberList

发送对象列表

content

消息内容

block

消息发送结果

Return Value

true 成功,false 失败

Discussion

信令内容由用户自定义。发送结果通过 block 回调

Declared In

ZegoAudioRoomApi.h

– setNetTypeDelegate:

设置网络类型回调

- (void)setNetTypeDelegate:(id<ZegoNetTypeDelegate>)delegate

Parameters

delegate

回调

Declared In

ZegoAudioRoomApi.h

Publisher Methods

– setAudioPublisherDelegate:

设置推流回调

- (void)setAudioPublisherDelegate:(id<ZegoAudioLivePublisherDelegate>)publisherDelegate

Parameters

publisherDelegate

Publish Delegate

Declared In

ZegoAudioRoomApi-Publisher.h

– startPublish

开始直播

- (bool)startPublish

Return Value

true:调用成功; false:调用失败,当前直播流已达上限,已经开播等原因

Discussion

此函数只有在[setManualPublish:true] 时调用才有效

流名由SDK内部生成

Declared In

ZegoAudioRoomApi-Publisher.h

– startPublishWithStreamID:

开始直播

- (bool)startPublishWithStreamID:(NSString *)streamID

Parameters

streamID

直播流 ID

Return Value

true:调用成功; false:调用失败,当前直播流已达上限,已经开播等原因

Discussion

此函数只有在[setManualPublish:true] 时调用才有效

流名由外部传入

Declared In

ZegoAudioRoomApi-Publisher.h

– stopPublish

停止直播

- (void)stopPublish

Discussion

此函数只有在[setManualPublish:true] 时调用才有效

Declared In

ZegoAudioRoomApi-Publisher.h

– enableMic:

开启关闭麦克风

- (bool)enableMic:(bool)bEnable

Parameters

bEnable

true 打开,false 关闭。默认 false

Return Value

true 成功,false 失败

Discussion

推流时可调用本 API 进行参数配置

Declared In

ZegoAudioRoomApi-Publisher.h

– enableLoopback:

开启采集监听

- (bool)enableLoopback:(bool)bEnable

Parameters

bEnable

true 打开,false 关闭。默认 false

Return Value

true 成功,false 失败

Discussion

推流时可调用本 API 进行参数配置。连接耳麦时设置才实际生效。开启采集监听,主播方讲话后,会听到自己的声音。

耳返默认是在采集之后、前处理之前返回,如果需要在前处理之后返回请咨询技术支持。

Declared In

ZegoAudioRoomApi-Publisher.h

– setLoopbackVolume:

设置采集监听音量

- (void)setLoopbackVolume:(int)volume

Parameters

volume

音量大小,取值范围 [0, 200], 默认 60

Discussion

推流时可调用本 API 进行参数配置

Declared In

ZegoAudioRoomApi-Publisher.h

– setCaptureVolume:

设置采集音量

- (void)setCaptureVolume:(int)volume

Parameters

volume

音量大小,取值范围 [0, 200], 默认 100

Discussion

SDK初始化成功后调用

Declared In

ZegoAudioRoomApi-Publisher.h

– getCaptureSoundLevel

获取当前采集的音量

- (float)getCaptureSoundLevel

Return Value

当前采集的音量值

Declared In

ZegoAudioRoomApi-Publisher.h

– enableDTX:

是否开启离散音频包发送

- (void)enableDTX:(bool)enable

Parameters

enable

true 开启,推流中检测为静音的数据包不发送;false 关闭,推流中的静音数据包照常发送。默认是 false。 @attention 在推流前调用,只有纯 UDP 方案才可以调用此接口 @attention SDK 默认关闭该特性。

Discussion

Note: 可以和 enableVAD: 配合使用。

Note: 开启离散音频包发送可以在关闭麦克风或者静音的状态下,停止音频包的发送,节省用户流量。

Note: 如果为音频单流(非混流)转推 CDN,开启此选项将导致 CDN 在设定时间内未收到数据包认为流关闭而断开连接,所以此种情况不建议开启。

Declared In

ZegoAudioRoomApi-Publisher.h

– enableVAD:

是否开启语音活动检测

- (void)enableVAD:(bool)enable

Parameters

enable

enable true 开启; false 关闭, 默认关闭

Discussion

在推流前调用,只有纯 UDP 方案才可以调用此接口

Declared In

ZegoAudioRoomApi-Publisher.h

– setAudioBitrate:

设置音频码率

- (bool)setAudioBitrate:(int)bitrate

Parameters

bitrate

码率

Return Value

true 成功 false 失败

Declared In

ZegoAudioRoomApi-Publisher.h

– setLatencyMode:

设置延迟模式

- (void)setLatencyMode:(ZegoAPILatencyMode)mode

Parameters

mode

延迟模式,默认 ZEGOAPI_LATENCY_MODE_NORMAL

Discussion

在推流前调用

Declared In

ZegoAudioRoomApi-Publisher.h

– setAudioChannelCount:

设置推流音频声道数

- (void)setAudioChannelCount:(int)count

Parameters

count

声道数,1 或 2,默认为 1(单声道) @attention 必须在InitSDK之后,调用推流前设置

Discussion

Note: setLatencyMode 设置为 ZEGO_LATENCY_MODE_NORMAL, ZEGO_LATENCY_MODE_NORMAL2, ZEGO_LATENCY_MODE_LOW3 才能设置双声道

Note: 在移动端双声道通常需要配合音频前处理才能体现效果

Declared In

ZegoAudioRoomApi-Publisher.h

– enableAGC:

音频采集自动增益开关。ios默认关闭;mac默认音频设备模式为ZEGOAPI_AUDIO_DEVICE_MODE_COMMUNICATION或ZEGOAPI_AUDIO_DEVICE_MODE_COMMUNICATION2时开启,否则关闭

- (bool)enableAGC:(bool)enable

Parameters

enable

是否开启 true开启,false关闭

Return Value

true 成功,false 失败

Declared In

ZegoAudioRoomApi-Publisher.h

– enableAEC:

回声消除开关

- (bool)enableAEC:(bool)enable

Parameters

enable

true 打开 false 关闭

Return Value

true 成功 false 失败

Declared In

ZegoAudioRoomApi-Publisher.h

– setAECMode:

设置回声消除模式

- (void)setAECMode:(ZegoAPIAECMode)mode

Parameters

mode

回声消除模式

Discussion

建议在推流前调用设置

Declared In

ZegoAudioRoomApi-Publisher.h

– enableNoiseSuppress:

音频采集噪声抑制开关

- (bool)enableNoiseSuppress:(bool)enable

Parameters

enable

true 开启,false 关闭

Return Value

true 调用成功,false 调用失败

Declared In

ZegoAudioRoomApi-Publisher.h

– setNoiseSuppressMode:

设置音频采集降噪等级

- (bool)setNoiseSuppressMode:(ZegoAPIANSMode)mode

Parameters

mode

降噪等级,详见 ZegoAPIANSMode 定义

Return Value

true 成功,false 失败

Discussion

Note: 仅在 enableNoiseSuppress 为 true 时有效, 默认为 MEDIUM

Declared In

ZegoAudioRoomApi-Publisher.h

– enableTransientNoiseSuppress:

音频采集的瞬态噪声抑制开关(消除键盘、敲桌子等瞬态噪声)

- (bool)enableTransientNoiseSuppress:(bool)enable

Parameters

bEnable

true 开启,false 关闭

Return Value

true 调用成功,false 调用失败

Declared In

ZegoAudioRoomApi-Publisher.h

– updateStreamExtraInfo:

更新流附加信息

- (bool)updateStreamExtraInfo:(NSString *)extraInfo

Parameters

extraInfo

流附加信息, 最大为 1024 字节

Return Value

true 成功,false 失败

Discussion

通常在主播方的 [ZegoAudioLivePublisherDelegate -onPublishStateUpdate:streamID:streamInfo:] 通知中,或其他需更新流附加信息的场合下调用。更新流附加信息成功后,除调用方外,同一房间内的其他人会收到 [ZegoAudioRoomDelegate -onStreamExtraInfoUpdated:roomID] 通知

Declared In

ZegoAudioRoomApi-Publisher.h

– restartPublishStream

OnPublishStateUpdate回调推流失败时,可以调用此函数再次进行推流

- (bool)restartPublishStream

Return Value

true 调用推流成功,false 调用失败

Declared In

ZegoAudioRoomApi-Publisher.h

+ setAudioDeviceMode:

设置音频设备模式

+ (void)setAudioDeviceMode:(ZegoAPIAudioDeviceMode)mode

Parameters

mode

模式, 默认 ZEGOAPI_AUDIO_DEVICE_MODE_AUTO

Discussion

在推流预览前后调用均有效,调用该接口会触发设备的启动切换,建议不要频繁调用,避免不必要的开销与硬件问题

用本接口可能导致音量模式在 通话/媒体 间切换,若媒体音量和通话音量不一致,可能导致音量变化

Declared In

ZegoAudioRoomApi-Publisher.h

– enableAudioTrafficControl:

设置是否开启音频流量控制

- (void)enableAudioTrafficControl:(BOOL)enable

Parameters

enable

true 开启, false 关闭

Declared In

ZegoAudioRoomApi-Publisher.h

– setAudioEqualizerGain:index:

音效均衡器 (Deprecated: 请使用 ZegoAudioProcessing.setAudioEqualizerGain:index)

- (bool)setAudioEqualizerGain:(float)bandGain index:(int)bandIndex

Parameters

bandGain

取值范围[-15, 15]。默认值是0,如果所有频带的增益值全部为0,则会关闭EQ功能

bandIndex

取值范围[0, 9]。分别对应10个频带,其中心频率分别是[31, 62, 125, 250, 500, 1K, 2K, 4K, 8K, 16K]Hz

Return Value

true 调用成功,false 调用失败 @attention 在InitSDK之后调用有效。使用此接口前请与即构技术支持联系确认是否支持此功能。

Declared In

ZegoAudioRoomApi-Publisher.h

Player Methods

– setAudioPlayerDelegate:

设置播放回调

- (void)setAudioPlayerDelegate:(id<ZegoAudioLivePlayerDelegate>)playerDelegate

Parameters

playerDelegate

player Delegate

Declared In

ZegoAudioRoomApi-Player.h

– enableSpeaker:

(声音输出)静音开关

- (bool)enableSpeaker:(bool)bEnable

Parameters

bEnable

true 不静音,false 静音。默认 true

Return Value

true 成功,false 失败

Discussion

设置为关闭后,内置扬声器和耳机均无声音输出

Declared In

ZegoAudioRoomApi-Player.h

– setBuiltInSpeakerOn:

手机内置扬声器开关

- (bool)setBuiltInSpeakerOn:(bool)bOn

Parameters

bOn

true 打开,false 关闭。默认 true

Return Value

true 成功,false 失败

Discussion

设置为关闭后,扬声器无声音,耳机仍有声音输出

Declared In

ZegoAudioRoomApi-Player.h

– setPlayVolume:

统一设置所有拉流的播放音量

- (bool)setPlayVolume:(int)volume

Parameters

volume

音量大小, 取值范围[0, 200], 默认 100

Return Value

true 成功,false 失败

Discussion

通过此 API 软件调整音量

Declared In

ZegoAudioRoomApi-Player.h

– setPlayVolume:ofStream:

设置指定拉流的播放音量

- (bool)setPlayVolume:(int)volume ofStream:(NSString *)streamID

Parameters

volume

音量大小, 取值范围[0, 200], 默认 100 @streamID 流ID. ID为空时, 统一设置所有拉流的播放音量

Return Value

true 成功, false 失败

Discussion

直播时通过此 API 软件调整音量

Declared In

ZegoAudioRoomApi-Player.h

– getSoundLevelOfStream:

获取当前播放视频的音量

- (float)getSoundLevelOfStream:(NSString *)streamID

Parameters

streamID

播放流 ID

Return Value

视频的音量值

Discussion

直播时通过此 API 获取当前音量。音量变更也会受硬件音量键的影响。

Declared In

ZegoAudioRoomApi-Player.h

– enableSelectedAudioRecord:sampleRate:

音频录制开关

- (bool)enableSelectedAudioRecord:(unsigned int)mask sampleRate:(int)sampleRate

Discussion

Warning: Deprecated,请使用 enableSelectedAudioRecord:

Declared In

ZegoAudioRoomApi-Player.h

– enableSelectedAudioRecord:

音频录制开关

- (bool)enableSelectedAudioRecord:(ZegoAPIAudioRecordConfig)config

Parameters

config

配置信息, 参考 ZegoAPIAudioRecordConfig

Return Value

true 成功,false 失败

Discussion

开启音频录制后,调用方需要设置音频录制回调代理对象,并通过 [ZegoLiveRoomApi (Player) -onAudioRecord:sampleRate:numOfChannels:bitDepth:type:] 获取 SDK 录制的数据

Declared In

ZegoAudioRoomApi-Player.h

– setAudioRecordDelegate:

设置音频录制回调代理对象

- (void)setAudioRecordDelegate:(id<ZegoAudioLiveRecordDelegate>)audioRecordDelegate

Parameters

audioRecordDelegate

遵循 ZegoAudioLiveRecordDelegate 协议的代理对象

Discussion

开启音频录制功能,需要设置代理对象。未设置代理对象,或对象设置错误,可能导致无法正常收到相关回调

Declared In

ZegoAudioRoomApi-Player.h

+ getMaxPlayChannelCount

获取 SDK 支持的最大同时播放流数

+ (int)getMaxPlayChannelCount

Return Value

最大支持播放流数

Declared In

ZegoAudioRoomApi-Player.h

– restartPlayStream:

onPlayStateUpdate返回拉流失败时,可以尝试再次拉流

- (bool)restartPlayStream:(NSString *)streamID

Parameters

streamID

重新拉流流ID

Return Value

true 调用成功,false 调用失败

Declared In

ZegoAudioRoomApi-Player.h

– startPlayStream:

开始播放

- (bool)startPlayStream:(NSString *)streamID

Parameters

streamID

播放流流ID

Return Value

true 调用成功,false 调用失败

Discussion

此函数只有在[setManualPlay:true] 时调用才有效

Declared In

ZegoAudioRoomApi-Player.h

– startPlayStream:extraInfo:

开始播放

- (bool)startPlayStream:(NSString *)streamID extraInfo:(ZegoAPIStreamExtraPlayInfo *)info

Parameters

streamID

播放流流ID

info

多媒体流附加信息

Return Value

true 调用成功,false 调用失败

Discussion

此函数只有在[setManualPlay:true] 时调用才有效

Declared In

ZegoAudioRoomApi-Player.h

– stopPlayStream:

停止播放

- (void)stopPlayStream:(NSString *)streamID

Parameters

streamID

播放流流ID

Return Value

true 调用成功,false 调用失败

Discussion

此函数只有在[setManualPlay:true] 时调用才有效

Declared In

ZegoAudioRoomApi-Player.h

– setRecvMinBufferLevel:maxBufferLevel:streamID:

设置拉流播放缓存自适应调整的区间范围(上下限)

- (bool)setRecvMinBufferLevel:(int)minBufferLevel maxBufferLevel:(int)maxBufferLevel streamID:(NSString *)streamID

Parameters

minBufferLevel

缓存自适应区间下限, 单位毫秒. 当 minBufferLevel <= 0 表示未设置下限.

maxBufferLevel

缓存自适应区间上限, 单位毫秒. 当 maxBufferLevel <= 0 表示未设置上限. 当设置的上限超过4000时,会取值4000.

streamID

流 ID

Return Value

true 设置成功, false 设置失败

Discussion

  • 注意:
    1. 调用时机为拉流前或者拉流中, 每次拉流都需要重新设置
    1. 上下限在未设置时, 内部默认区间范围 [0, 4000]
    1. 当设置的上限小于下限时,会自动将上限取值为下限

Declared In

ZegoAudioRoomApi-Player.h

AudioIO Methods

– enableAECWhenHeadsetDetected:

耳机插入状态下是否使用回声消除

- (void)enableAECWhenHeadsetDetected:(bool)enable

Parameters

enable

true 使用,false 不使用。默认 true

Discussion

InitSDK之后,推流之前调用

Declared In

ZegoAudioRoomApi-AudioIO.h

– setAudioPrepCallback:config:

设置音频前(3A处理后、耳返前)处理函数, 并开启或关闭音频前处理

- (void)setAudioPrepCallback:(void ( *) ( const AVE : : AudioFrame & inFrame , AVE : : AudioFrame & outFrame ))callback config:(AVE : : ExtPrepSet)config

Parameters

callback

采样数据回调,inFrame 为 SDK 采集的音频数据,outFrame 为开发者处理后应该返回给 SDK 的数据,outFrame.buffer已经分配内存,outFrame.bufLen 所指向的内存由 SDK 负责申请和销毁,用户处理后回写的数据的采样率不超过48K。

config

预处理音频数据的采样率等设置参数,详见 struct ExtPrepSet。

Discussion

当开发者需要自处理音频数据时采用此接口,一般是实现特殊功能如变声;SDK 会在 callback 参数中抛出采集的音频数据,开发者从其中获取音频数据进行变声等处理,最后将处理后的数据回传给 SDK。 注意: 1.此 API 必须在initSDK后,在调用预览,拉流,推流,启动播放器接口前设置。 2.SDK 已经针对采集的音频数据进行了回声消除、噪声抑制等处理,通常情况下,开发者无需再重复处理。 3.使用该回调进行音频处理影响耳返数据。

Declared In

ZegoAudioRoomApi-AudioIO.h

– setAudioPrepAfterLoopbackCallback:config:

设置音频(耳返后)处理函数, 并开启或关闭音频前处理

- (void)setAudioPrepAfterLoopbackCallback:(void ( *) ( const AVE : : AudioFrame & inFrame , AVE : : AudioFrame & outFrame ))callback config:(AVE : : ExtPrepSet)config

Parameters

callback

采样数据回调,inFrame 为 SDK 采集的音频数据,outFrame 为开发者处理后应该返回给 SDK 的数据,outFrame.buffer已经分配内存,outFrame.bufLen 所指向的内存由 SDK 负责申请和销毁,用户处理后回写的数据的采样率不超过48K。

config

预处理音频数据的采样率等设置参数,详见 struct ExtPrepSet。

Discussion

当开发者需要自处理音频数据时采用此接口,一般是实现特殊功能如变声;SDK 会在 callback 参数中抛出采集的音频数据,开发者从其中获取音频数据进行变声等处理,最后将处理后的数据回传给 SDK。 注意: 1.此 API 必须在初始化 SDK 后推流前调用。 2.SDK 已经针对采集的音频数据进行了回声消除、噪声抑制等处理,通常情况下,开发者无需再重复处理。 3.使用该回调进行音频处理不影响耳返数据。

Declared In

ZegoAudioRoomApi-AudioIO.h

– setAudioPostpCallback:config:

设置音频后处理函数

- (void)setAudioPostpCallback:(void ( *) ( const char *streamID , const AVE : : AudioFrame & inFrame , AVE : : AudioFrame & outFrame ))callback config:(AVE : : ExtPostpSet)config

Parameters

callback

拉流音频数据回调,streamID 标明当前的音频数据属于哪路流,inFrame 为 SDK 拉取的某路流的音频数据,outFrame 为开发者处理后应该返回给 SDK 的数据,outFrame.buffer已经分配内存,outFrame.bufLen 所指向的内存由 SDK 负责申请和销毁,用户处理后回写的数据的采样率不超过48K。

config

预处理音频数据的采样率等设置参数,详见 struct ExtPostpSet。 @attention 当回调时,streamID 为空时,表明这是混音后的音频数据

Discussion

当开发者需要自处理拉取的音频数据时采用此接口,一般是实现特殊功能如变声;SDK 会在 callback 参数中抛出拉取的某路流的音频数据,开发者从其中获取音频数据进行处理,最后将处理后的数据回传给 SDK。 注意: 1.此 API 必须在initSDK后,在调用预览,拉流,推流,启动播放器接口前设置。

Declared In

ZegoAudioRoomApi-AudioIO.h

– enableAudioPostp:streamID:

开启或关闭音频后处理

- (void)enableAudioPostp:(bool)enable streamID:(NSString *)streamID

Parameters

enable

true: 开启音频后处理;false: 开关音频后处理

streamID

流 ID, 当 streamID 为空串时,表明需要混音后的音频数据

Discussion

当开发者需要自处理拉取的音频数据时采用此接口,一般是实现特殊功能如变声;SDK 会在 callback 参数中抛出拉取的某路流的音频数据,开发者从其中获取音频数据进行处理,最后将处理后的数据回传给 SDK。 注意: 1.streamID不为空串时,此 API 必须在拉流后调用,本次拉流有效

Declared In

ZegoAudioRoomApi-AudioIO.h

– setAlignedAudioAuxDataDelegate:

设置对齐后的混音数据回调

- (void)setAlignedAudioAuxDataDelegate:(id<ZegoAudioAuxDataDelegate>)delegate

Parameters

delegate

遵循 ZegoAudioAuxDataDelegate 协议的代理对象。

Discussion

  1. 必须在 initSDK 后,[startPublishingStream]、[startRecord] 前调用
  2. 仅在使用 enableAlignedAudioAuxData 开启了抛出对齐后的混音数据特性且 [startPublishingStream] 或 [startRecord] 才会回调
  3. 如果想要从此回调中获取媒体播放器的音频混音数据,需要调用 [enableAux] 或媒体播放器类型为 Aux

Declared In

ZegoAudioRoomApi-AudioIO.h

– enableAlignedAudioAuxData:config:

开启/关闭抛出对齐后的混音数据特性

- (void)enableAlignedAudioAuxData:(bool)enable config:(ZegoAPIAudioAuxDataConfig *)config

Parameters

enable

true: 开启;false: 关闭

config

音频配置

Discussion

  1. 需要在初始化 SDK 之后调用

Declared In

ZegoAudioRoomApi-AudioIO.h

IM Methods

– setAudioIMDelegate:

设置 IM 代理对象

- (void)setAudioIMDelegate:(id<ZegoAudioIMDelegate>)imDelegate

Parameters

imDelegate

遵循 ZegoAudioIMDelegate 协议的代理对象

Discussion

使用 IM 功能,初始化相关视图控制器时需要设置代理对象。未设置代理对象,或对象设置错误,可能导致无法正常收到相关回调

Declared In

ZegoAudioRoomApi-IM.h

– sendRoomMessage:type:category:completion:

房间发送广播消息

- (bool)sendRoomMessage:(NSString *)content type:(ZegoMessageType)type category:(ZegoMessageCategory)category completion:(ZegoRoomMessageCompletion)completionBlock

Parameters

content

消息内容, 小于 1024 字节

type

消息类型,可以自定义

category

消息分类,可以自定义

completionBlock

消息发送结果,回调 server 下发的 messageId

Return Value

true 成功,false 失败

Discussion

实现点赞主播、评论、送礼物等 IM 功能时,需要调用本 API

Declared In

ZegoAudioRoomApi-IM.h

– sendBigRoomMessage:type:category:completion:

发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。

- (bool)sendBigRoomMessage:(NSString *)content type:(ZegoMessageType)type category:(ZegoMessageCategory)category completion:(ZegoBigRoomMessageCompletion)completionBlock

Parameters

content

消息内容, 小于 1024 字节

type

消息类型,可以自定义

category

消息分类,可以自定义

completionBlock

消息发送结果,回调 server 下发的 messageId

Return Value

true 成功,false 失败

Declared In

ZegoAudioRoomApi-IM.h