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
+ 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
- 注意:
- 调用时机为拉流前或者拉流中, 每次拉流都需要重新设置
- 上下限在未设置时, 内部默认区间范围 [0, 4000]
- 当设置的上限小于下限时,会自动将上限取值为下限
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
- 必须在 initSDK 后,[startPublishingStream]、[startRecord] 前调用
- 仅在使用 enableAlignedAudioAuxData 开启了抛出对齐后的混音数据特性且 [startPublishingStream] 或 [startRecord] 才会回调
- 如果想要从此回调中获取媒体播放器的音频混音数据,需要调用 [enableAux] 或媒体播放器类型为 Aux
Declared In
ZegoAudioRoomApi-AudioIO.h
– enableAlignedAudioAuxData:config:
开启/关闭抛出对齐后的混音数据特性
- (void)enableAlignedAudioAuxData:(bool)enable config:(ZegoAPIAudioAuxDataConfig *)config
Parameters
enable |
true: 开启;false: 关闭 |
---|---|
config |
音频配置 |
Discussion
- 需要在初始化 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