Class ZegoAudioRoom
- java.lang.Object
-
- com.zego.zegoaudioroom.ZegoAudioRoom
-
public class ZegoAudioRoom extends java.lang.Object
对外提供 ZegoAudioRoom 所有接口,通过此类可以实现 AudioRoom 相关功能。注意:必须先依赖 ZegoLiveRoom 库才能正常使用此库
Copyright © 2017 Zego. All rights reserved.
-
-
Field Summary
Fields Modifier and Type Field Description static int
ERROR_OUT_OF_MAX_PLAY_CHANNEL_COUNT
-
Constructor Summary
Constructors Constructor Description ZegoAudioRoom()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
enableAEC(boolean enable)
回声消除开关。void
enableAECWhenHeadsetDetected(boolean enable)
耳机插入状态下是否使用回声消除。void
enableAGC(boolean enable)
音频采集自动增益开关。 默认关闭void
enableAlignedAudioAuxData(boolean enable, ZegoAudioAuxDataConfig config)
开启/关闭抛出对齐后的混音数据特性setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback)
设置对齐后的混音数据回调void
enableAudioPostp(boolean enable, java.lang.String streamId)
开启或关闭音频后处理功能,并设置预处理参数,通过setAudioPostpDelegate(ZegoAudioPostpDelegate, ZegoExtPrepSet)
设置的回调处理音频数据void
enableAudioTrafficControl(boolean enable)
设置是否开启音频流量控制void
enableDTX(boolean enable)
是否开启离散音频包发送boolean
enableLoopback(boolean enable)
开启/关闭采集监听。boolean
enableMic(boolean enable)
开启/关闭麦克风。boolean
enableMicDevice(boolean enable)
设置是否允许SDK使用麦克风设备。调用时机为引擎创建后的任意时刻。接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用。boolean
enableNoiseSuppress(boolean enable)
音频采集噪声抑制开关.boolean
enableSelectedAudioRecord(int mask, int sampleRate)
Deprecated.boolean
enableSelectedAudioRecord(ZegoAudioRecordConfig config)
开启音源回调,常用于音频录制。boolean
enableSpeaker(boolean enable)
静音开头(声音输出)boolean
enableTransientNoiseSuppress(boolean enable)
音频采集的瞬态噪声抑制开关(消除键盘、敲桌子等瞬态噪声)void
enableVAD(boolean enable)
是否开启语音活动检测float
getCaptureSoundLevel()
获取当前音频采集的音量。ZegoLiveRoom
getLiveRoomInstance()
获取 ZegoLiveRoom 实例(当需要使用 ZegoLiveRoom 实例的方法,但 ZegoAudioRoom 又没有提供时,可通过此 API 获取 ZegoLiveRoom 实例后直接调用)。static int
getMaxPlayChannelCount()
获取 SDK 支持的最大同时播放流数 (static method)float
getSoundLevelOfStream(java.lang.String streamId)
获取当前播放音频的音量boolean
initWithAppId(long appId, byte[] appSignature, android.content.Context context)
初始化 SDK。boolean
loginRoom(java.lang.String roomId, ZegoLoginAudioRoomCallback delegate)
登录房间。boolean
logoutRoom()
退出房间,停止所有的推拉流。void
pauseAudioModule()
暂停音频模块。 用于需要暂停指定模块的场合,例如来电时暂定音频模块; 暂停指定模块后,注意在合适时机下恢复模块。void
pauseModule(int moduleType)
暂停设备模块。 用于需要暂停指定模块的场合,例如来电时; 暂停指定模块后,注意在合适时机下恢复模块。boolean
restartPlayStream(java.lang.String streamId)
当ZegoAudioLivePlayerDelegate.onPlayStateUpdate(int, ZegoAudioStream)
回调返回拉流失败时,可通过此 API 重新拉流。boolean
restartPublishStream()
当ZegoAudioLivePublisherDelegate.onPublishStateUpdate(int, String, HashMap)
回调返回推流失败时,调用该 API 进行重新推流void
resumeAudioModule()
恢复音频模块。 用于需要恢复指定模块的场合,例如来电结束后恢复音频模块。void
resumeModule(int moduleType)
恢复设备模块。 用于需要恢复指定模块的场合,例如来电结束后。boolean
sendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, ZegoBigRoomMessageDelegate delegate)
发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。boolean
sendCustomCommand(ZegoUser[] listMember, java.lang.String content, ZegoCustomCommandDelegate delegate)
发送自定义消息.boolean
sendRoomMessage(int messageType, int messageCategory, java.lang.String content, ZegoRoomMessageDelegate delegate)
房间发送广播消息.void
setAECMode(int mode)
设置回声消除模式void
setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback callback)
设置对齐后的混音数据回调enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)
设置为 true 时才会回调void
setAudioAVEngineDelegate(ZegoAudioAVEngineDelegate delegate)
设置音频引擎状态回调。boolean
setAudioBitrate(int bitrate)
设置音频码率.void
setAudioChannelCount(int count)
设置推流音频声道数.static boolean
setAudioDevice(int deviceType, java.lang.String deviceId)
设置音频设备。void
setAudioDeviceEventDelegate(ZegoAudioDeviceEventDelegate delegate)
设置音频设备错误通知回调。static void
setAudioDeviceMode(int mode)
设置音频设备模式.boolean
setAudioEqualizerGain(int bandIndex, float bandGain)
Deprecated.请使用 ZegoAudioProcessing.setAudioEqualizerGain(int, float)void
setAudioLiveEventDelegate(ZegoAudioLiveEventDelegate delegate)
设置音频直播事件回调。void
setAudioPlayerDelegate(ZegoAudioLivePlayerDelegate delegate)
音频播放回调。void
setAudioPostpDelegate(ZegoAudioPostpDelegate callback, ZegoExtPrepSet config)
设置音频后处理回调,仅在enableAudioPostp(boolean, String)
设置为 true 时才会回调void
setAudioPrepAfterLoopbackDelegate(ZegoAudioProcDelegate callback, ZegoExtPrepSet config)
设置音频(耳返后)处理回调, 并开启/关闭音频处理特性void
setAudioPrepDelegate(ZegoAudioPrepDelegate2 callback, ZegoExtPrepSet config)
设置音频前(3A处理后、耳返前)处理回调, 并开启/关闭音频前处理特性void
setAudioPublisherDelegate(ZegoAudioLivePublisherDelegate delegate)
设置音频发布者回调协议。void
setAudioPublisherExDelegate(ZegoAudioLivePublisherExDelegate delegate)
设置音频发布者回调协议。void
setAudioRecordDelegate(ZegoAudioLiveRecordDelegate delegate)
设置音频录制回调接口。void
setAudioRoomDelegate(ZegoAudioRoomDelegate delegate)
设置房间事件回调。void
setAudioRouteDelegate(ZegoAudioRouteDelegate delegate)
设置音频路由回调boolean
setBuiltinSpeakerOn(boolean switchOn)
手机内置扬声器开关void
setCaptureVolume(int volume)
设置采集音量static void
setConfig(java.lang.String config)
设置sdk配置信息.void
setCustomToken(java.lang.String thirdPartyToken)
设置自定义token信息。void
setLatencyMode(int mode)
设置音频延迟模式(编码模式)。void
setLoopbackVolume(int volume)
设置采集监听音量。void
setManualPlay(boolean manual)
设置是否手动拉流。void
setManualPublish(boolean manual)
设置是否手动推流。boolean
setNoiseSuppressMode(int mode)
设置音频采集降噪等级。void
setPlayVolume(int volume)
设置播放音量boolean
setPlayVolume(int volume, java.lang.String streamId)
设置指定流 ID 的播放音量。 拉流之后有效,本次拉流有效。boolean
setRecvBufferLevelLimit(int minBufferLevel, int maxBufferLevel, java.lang.String streamId)
设置拉流播放缓存自适应调整的区间范围(上下限)static boolean
setUser(java.lang.String userId, java.lang.String userName)
设置用户信息void
setUserStateUpdate(boolean userStateUpdate)
设置用户进入/退出房间是否通知其他用户,默认不通知。 userStateUpdate为房间属性而非用户属性,设置的是该房间内是否会进行用户状态的广播。如果需要在房间内用户状态改变时,其他用户能收到通知,请为所有用户设置为true;反之,设置为false。设置为true后,方可从OnUserUpdate回调收到用户状态变更通知static void
setUseTestEnv(boolean useTestEnv)
是否启用测试环境。默认关闭static void
setVerbose(boolean onVerbose)
调试信息开关。默认关闭boolean
startPlay(java.lang.String streamId)
手动拉流。boolean
startPlay(java.lang.String streamId, ZegoStreamExtraPlayInfo info)
手动拉流。boolean
startPublish()
手动推流。boolean
startPublish(java.lang.String streamId)
手动推流。boolean
stopPlay(java.lang.String streamId)
手动停止拉流。boolean
stopPublish()
手动停止推流。boolean
switchRoom(java.lang.String roomId, ZegoLoginAudioRoomCallback delegate)
切换房间 调用成功 会停止推拉流(登录房间成功后,需要快速切换到其它房间时使用)void
unInit()
释放 SDK 资源,停止各种系统监听。boolean
updateStreamExtraInfo(java.lang.String extraInfo)
更新流的附加信息.static void
uploadLog()
触发日志上报static java.lang.String
version()
static java.lang.String
version2()
-
-
-
Method Detail
-
version
public static java.lang.String version()
-
version2
public static java.lang.String version2()
-
setUseTestEnv
public static void setUseTestEnv(boolean useTestEnv)
是否启用测试环境。默认关闭- Parameters:
useTestEnv
- true 使用测试环境;false 关闭测试环境
-
setVerbose
public static void setVerbose(boolean onVerbose)
调试信息开关。默认关闭- Parameters:
onVerbose
- true 开启调试信息;false 关闭调试信息
-
uploadLog
public static void uploadLog()
触发日志上报注意:在初始化 SDK 成功后调用。
-
getMaxPlayChannelCount
public static int getMaxPlayChannelCount()
获取 SDK 支持的最大同时播放流数 (static method)- Returns:
- 最大支持播放流数
-
setUser
public static boolean setUser(java.lang.String userId, java.lang.String userName)
设置用户信息- Parameters:
userId
- 用户IDuserName
- 用户名- Returns:
- true 设置成功;false 设置失败
-
setConfig
public static void setConfig(java.lang.String config)
设置sdk配置信息.注意:确保在 InitSDK 前调用,但开启拉流加速(config为“prefer_play_ultra_source=1”)可在 InitSDK 之后,拉流之前调用
- Parameters:
config
- 参考ZegoConstants.Config
, 具体配置信息请咨询技术支持
-
setAudioDeviceMode
public static void setAudioDeviceMode(int mode)
设置音频设备模式.注意:
1. 在推流预览前后调用均有效.
2. 调用该接口会触发设备的启动切换,建议不要频繁调用,避免不必要的开销与硬件问题
3. 调用本接口可能导致音量模式在 通话/媒体 间切换,若媒体音量和通话音量不一致,可能导致音量变化.- Parameters:
mode
- 模式, 参考ZegoConstants.AudioDeviceMode
, 默认值ZegoConstants.AudioDeviceMode.Auto
-
setAudioDevice
public static boolean setAudioDevice(int deviceType, java.lang.String deviceId)
设置音频设备。注意: 1. 此接口仅在 API >= 23 的系统上有效,且必须在推、拉流前调用;
2. 此接口默认不开放,如需要此功能,请联系技术支持人员。- Parameters:
deviceType
- 设备类型(指明是输入设备还是输出设备),参考ZegoConstants.AudioDeviceType
deviceId
- 设备 ID,通过系统 API: AudioManager.getDevices 获得;如果要恢复默认设备,请将此值置为空串- Returns:
- true 如果调用成功,否则返回 false
-
initWithAppId
public boolean initWithAppId(long appId, byte[] appSignature, android.content.Context context)
初始化 SDK。注意:请确保在所有 API 之前调用。
- Parameters:
appId
- Zego派发的数字Id,各个开发者的唯一标识appSignature
- Zego派发的签名,用来检验对应 appId 的合法性context
- Application Context- Returns:
- true: 初始化成功; false: 初始化失败
-
setAudioPrepDelegate
public void setAudioPrepDelegate(ZegoAudioPrepDelegate2 callback, ZegoExtPrepSet config)
设置音频前(3A处理后、耳返前)处理回调, 并开启/关闭音频前处理特性注意: 必须在初始化 SDK 之后预览、推流、拉流前调用
- Parameters:
callback
- 音频前处理回调实例,该接口设置的回调处理音频影响耳返效果config
- 预处理参数,包括是否对原始数据进行编码、采样率、声道数等。 SDK 根据设置的参数返回采集的音频数据
-
setAudioPrepAfterLoopbackDelegate
public void setAudioPrepAfterLoopbackDelegate(ZegoAudioProcDelegate callback, ZegoExtPrepSet config)
设置音频(耳返后)处理回调, 并开启/关闭音频处理特性注意: 必须在初始化 SDK 之后推流前调用
- Parameters:
callback
- 音频前处理回调实例,该接口设置的回调处理音频不影响耳返效果config
- 预处理参数,包括是否对原始数据进行编码、采样率、声道数等。 SDK 根据设置的参数返回采集的音频数据
-
setAudioPostpDelegate
public void setAudioPostpDelegate(ZegoAudioPostpDelegate callback, ZegoExtPrepSet config)
设置音频后处理回调,仅在enableAudioPostp(boolean, String)
设置为 true 时才会回调注意: 必须在initSDK后,在调用预览,拉流,推流,启动播放器接口前设置
- Parameters:
callback
- 音频后处理回调实例, 当 callback 为空时,会忽略后面的参数config
- 预处理参数,包括是否对原始数据进行编码、采样率、声道数等。 SDK 根据设置的参数返回采集的音频数据- See Also:
enableAudioPostp(boolean,java.lang.String)
-
enableAudioPostp
public void enableAudioPostp(boolean enable, java.lang.String streamId)
开启或关闭音频后处理功能,并设置预处理参数,通过setAudioPostpDelegate(ZegoAudioPostpDelegate, ZegoExtPrepSet)
设置的回调处理音频数据注意: 必须在拉流之后调用,本次拉流有效
- Parameters:
enable
- true:开启, false:关闭streamId
- 流 ID, 当 streamId 为空串时,表明需要混音后的音频数据- See Also:
setAudioPostpDelegate(com.zego.zegoaudioroom.ZegoAudioPostpDelegate,com.zego.zegoliveroom.entity.ZegoExtPrepSet)
-
setAlignedAudioAuxDataCallback
public void setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback callback)
设置对齐后的混音数据回调enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)
设置为 true 时才会回调注意:
1. 必须在#initSDK(long, byte[])
后,[startPublishingStream]、[startRecord] 前调用
2. 仅在使用 enableAlignedAudioAuxData 开启了抛出对齐后的混音数据特性且 [startPublishingStream] 或 [startRecord] 才会回调
3. 如果想要从此回调中获取媒体播放器的音频混音数据,需要调用 [enableAux] 或媒体播放器类型为 Aux- Parameters:
callback
- 对齐的混音回调实例- See Also:
enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)
-
enableAlignedAudioAuxData
public void enableAlignedAudioAuxData(boolean enable, ZegoAudioAuxDataConfig config)
开启/关闭抛出对齐后的混音数据特性setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback)
设置对齐后的混音数据回调注意: 需要在初始化 SDK 之后调用
- Parameters:
enable
- true:开启, false:关闭config
- 音频参数配置- See Also:
#setAlignedAudioAuxDataCallback(IZegoAlignedAudioAuxDataCallback)
-
setAudioRoomDelegate
public void setAudioRoomDelegate(ZegoAudioRoomDelegate delegate)
设置房间事件回调。- Parameters:
delegate
- 房间事件处理协议
-
setCustomToken
public void setCustomToken(java.lang.String thirdPartyToken)
设置自定义token信息。注意:必须在
loginRoom(String, ZegoLoginAudioRoomCallback)
之前调用。退出房间后失效。使用此方法验证登录及推流时用户的合法性,登录房间前调用,支持登录后重置,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数。
- Parameters:
thirdPartyToken
- token信息
-
loginRoom
public boolean loginRoom(java.lang.String roomId, ZegoLoginAudioRoomCallback delegate)
登录房间。- Parameters:
roomId
- 房间唯一IDdelegate
- 登录完成以后的通知回调- Returns:
- true 登录成功;false 登录失败
-
switchRoom
public boolean switchRoom(java.lang.String roomId, ZegoLoginAudioRoomCallback delegate)
切换房间 调用成功 会停止推拉流(登录房间成功后,需要快速切换到其它房间时使用)- Parameters:
roomId
- 房间唯一IDdelegate
- 切换房间完成以后的通知回调- Returns:
- true 登录成功;false 登录失败
-
logoutRoom
public boolean logoutRoom()
退出房间,停止所有的推拉流。- Returns:
- true 成功;false 失败
-
setAudioLiveEventDelegate
public void setAudioLiveEventDelegate(ZegoAudioLiveEventDelegate delegate)
设置音频直播事件回调。- Parameters:
delegate
- 音频直播事件协议
-
setAudioDeviceEventDelegate
public void setAudioDeviceEventDelegate(ZegoAudioDeviceEventDelegate delegate)
设置音频设备错误通知回调。- Parameters:
delegate
- 音频设备消息协议
-
setAudioAVEngineDelegate
public void setAudioAVEngineDelegate(ZegoAudioAVEngineDelegate delegate)
设置音频引擎状态回调。- Parameters:
delegate
- 音频引擎状态协议
-
setAudioRouteDelegate
public void setAudioRouteDelegate(ZegoAudioRouteDelegate delegate)
设置音频路由回调- Parameters:
delegate
- 音频路由协议
-
pauseAudioModule
public void pauseAudioModule()
暂停音频模块。 用于需要暂停指定模块的场合,例如来电时暂定音频模块; 暂停指定模块后,注意在合适时机下恢复模块。- See Also:
resumeAudioModule()
,resumeModule(int)
-
resumeAudioModule
public void resumeAudioModule()
恢复音频模块。 用于需要恢复指定模块的场合,例如来电结束后恢复音频模块。- See Also:
pauseAudioModule()
,pauseModule(int)
-
unInit
public void unInit()
释放 SDK 资源,停止各种系统监听。
-
setAudioPublisherDelegate
public void setAudioPublisherDelegate(ZegoAudioLivePublisherDelegate delegate)
设置音频发布者回调协议。- Parameters:
delegate
- 回调协议
-
setAudioPublisherExDelegate
public void setAudioPublisherExDelegate(ZegoAudioLivePublisherExDelegate delegate)
设置音频发布者回调协议。- Parameters:
delegate
- 回调协议
-
setUserStateUpdate
public void setUserStateUpdate(boolean userStateUpdate)
设置用户进入/退出房间是否通知其他用户,默认不通知。 userStateUpdate为房间属性而非用户属性,设置的是该房间内是否会进行用户状态的广播。如果需要在房间内用户状态改变时,其他用户能收到通知,请为所有用户设置为true;反之,设置为false。设置为true后,方可从OnUserUpdate回调收到用户状态变更通知- Parameters:
userStateUpdate
- true: 当有用户进入/退出房间时,会通过ZegoAudioRoomDelegate.onUserUpdate(ZegoUserState[], int)
通知房间内其它用户; false: 当有用户进入/退出房间时不通知; 默认为 false- See Also:
ZegoAudioRoomDelegate.onUserUpdate(ZegoUserState[], int)
-
enableMic
public boolean enableMic(boolean enable)
开启/关闭麦克风。- Parameters:
enable
- true 打开;false 关闭- Returns:
- true 设置成功;false 设置失败
-
enableMicDevice
public boolean enableMicDevice(boolean enable)
设置是否允许SDK使用麦克风设备。调用时机为引擎创建后的任意时刻。接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用。- Parameters:
enable
- true 表示允许使用麦克风,false 表示禁止使用麦克风,此时如果SDK在占用麦克风则会立即释放。- Returns:
- true: 调用成功, false: 调用失败
-
enableAGC
public void enableAGC(boolean enable)
音频采集自动增益开关。 默认关闭- Parameters:
enable
- true 打开;false 关闭
-
enableAEC
public void enableAEC(boolean enable)
回声消除开关。- Parameters:
enable
- true: 开启回声消除;false: 关闭回声消除
-
setAECMode
public void setAECMode(int mode)
设置回声消除模式- Parameters:
mode
- 回声消除模式, 参考ZegoConstants.AECMode
-
enableLoopback
public boolean enableLoopback(boolean enable)
开启/关闭采集监听。推流时可调用本 API 进行参数配置。连接耳麦时设置才实际生效。开启采集监听,主播方讲话后,会听到自己的声音
耳返默认是在采集之后、前处理之前返回,如果需要在前处理之后返回请咨询技术支持
- Parameters:
enable
- true 打开;false 关闭- Returns:
- true 设置成功;false 设置失败
-
setLoopbackVolume
public void setLoopbackVolume(int volume)
设置采集监听音量。- Parameters:
volume
- 音量大小,取值范围 [0, 200], 默认 60
-
setCaptureVolume
public void setCaptureVolume(int volume)
设置采集音量- Parameters:
volume
- 音量大小,取值范围 [0, 200], 默认 100
-
getCaptureSoundLevel
public float getCaptureSoundLevel()
获取当前音频采集的音量。- Returns:
- 当前采集音量大小
-
setLatencyMode
public void setLatencyMode(int mode)
设置音频延迟模式(编码模式)。- Parameters:
mode
- 音频延迟模式,参见ZegoConstants.LatencyMode
-
setManualPublish
public void setManualPublish(boolean manual)
设置是否手动推流。注意:必须在
loginRoom(String, ZegoLoginAudioRoomCallback)
之前调用- Parameters:
manual
- true: 登录房间后,不自动推流,需要调用startPublish()
手动推流;
false: 登录房间后,会自动推流;
默认值为 false,登录成功后,会自动推流。
-
setManualPlay
public void setManualPlay(boolean manual)
设置是否手动拉流。注意:必须在
loginRoom(String, ZegoLoginAudioRoomCallback)
之前调用- Parameters:
manual
- true: 登录房间后,不自动拉流,需要调用startPlay(String)
手动拉流;
false: 登录房间后,会自动拉流;
默认值为 false,登录成功后,会自动拉流。
-
startPublish
public boolean startPublish()
手动推流。仅在
setManualPublish(boolean)
为 true 时有效- Returns:
- true 调用成功(不表示推流一定成功);false 调用失败
-
startPublish
public boolean startPublish(java.lang.String streamId)
手动推流。仅在
setManualPublish(boolean)
为 true 时有效- Parameters:
streamId
- 自定义的流ID- Returns:
- true 调用成功(不表示推流一定成功);false 调用失败
-
startPlay
public boolean startPlay(java.lang.String streamId)
手动拉流。仅在
setManualPlay(boolean)
为 true 时有效- Parameters:
streamId
- 自定义的流ID- Returns:
- true 调用成功(不表示推流一定成功);false 调用失败
-
startPlay
public boolean startPlay(java.lang.String streamId, ZegoStreamExtraPlayInfo info)
手动拉流。仅在
setManualPlay(boolean)
为 true 时有效- Parameters:
streamId
- 自定义的流IDinfo
- 拉流附加信息,各个值的含义请参考ZegoStreamExtraPlayInfo
- Returns:
- true 调用成功(不表示推流一定成功);false 调用失败
-
stopPublish
public boolean stopPublish()
手动停止推流。仅在
setManualPublish(boolean)
为 true 时有效- Returns:
- true 调用成功; false 调用失败
-
stopPlay
public boolean stopPlay(java.lang.String streamId)
手动停止拉流。仅在
setManualPublish(boolean)
为 true 时有效- Parameters:
streamId
- 流ID- Returns:
- true 调用成功; false 调用失败
-
enableNoiseSuppress
public boolean enableNoiseSuppress(boolean enable)
音频采集噪声抑制开关.- Parameters:
enable
- true: 开启; false: 关闭- Returns:
- true: 调用成功; false: 调用失败
-
setNoiseSuppressMode
public boolean setNoiseSuppressMode(int mode)
设置音频采集降噪等级。仅在 enableNoiseSuppress 为 true 时有效, 默认为 MEDIUM
- Parameters:
mode
- 降噪等级,详见ZegoConstants.ANSMode
- Returns:
- true 成功,false 失败
-
enableTransientNoiseSuppress
public boolean enableTransientNoiseSuppress(boolean enable)
音频采集的瞬态噪声抑制开关(消除键盘、敲桌子等瞬态噪声)- Parameters:
enable
- true: 开启; false: 关闭- Returns:
- true: 调用成功; false: 调用失败
-
pauseModule
public void pauseModule(int moduleType)
暂停设备模块。 用于需要暂停指定模块的场合,例如来电时; 暂停指定模块后,注意在合适时机下恢复模块。- Parameters:
moduleType
- 设备类型, 参考ZegoConstants.ModuleType
- See Also:
pauseAudioModule()
,resumeModule(int)
-
resumeModule
public void resumeModule(int moduleType)
恢复设备模块。 用于需要恢复指定模块的场合,例如来电结束后。- Parameters:
moduleType
- 设备类型, 参考ZegoConstants.ModuleType
- See Also:
resumeAudioModule()
,pauseModule(int)
-
setAudioChannelCount
public void setAudioChannelCount(int count)
设置推流音频声道数.注意:
1. 必须在推流前设置.
2. setLatencyMode设置为ZegoConstants.LatencyMode.Normal
,ZegoConstants.LatencyMode.Normal2
,ZegoConstants.LatencyMode.Low3
才能设置双声道.
3. 在移动端双声道通常需要配合音频前处理才能体现效果.- Parameters:
count
- 声道数,1 或 2,默认为 1(单声道)
-
sendRoomMessage
public boolean sendRoomMessage(int messageType, int messageCategory, java.lang.String content, ZegoRoomMessageDelegate delegate)
房间发送广播消息.消息发送成功后,房间内的其他成员会通过
ZegoAudioRoomDelegate.onRecvRoomMessage(String, ZegoRoomMessage[])
接收此消息- Parameters:
messageType
- 消息类型, 详见ZegoIM.MessageType
messageCategory
- 消息分类, 详见ZegoIM.MessageCategory
content
- 消息内容,小于 1024 字节delegate
- 消息发送结果,回调server下发的messageID- Returns:
- true:调用成功 等待
ZegoRoomMessageDelegate.onSendRoomMessage(int, String, long)
返回, false:调用失败
-
sendBigRoomMessage
public boolean sendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, ZegoBigRoomMessageDelegate delegate)
发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。消息发送成功后,房间内的其他成员会通过
ZegoAudioRoomDelegate.onRecvBigRoomMessage(String, ZegoBigRoomMessage[])
接收此消息- Parameters:
messageType
- 消息类型, 详见ZegoIM.MessageType
messageCategory
- 消息分类, 详见ZegoIM.MessageCategory
content
- 消息内容, 小于 1024 字节delegate
- 消息发送结果,回调server下发的messageID- Returns:
- true:调用成功 等待
ZegoBigRoomMessageDelegate.onSendBigRoomMessage(int, String, String)
返回, false:调用失败
-
sendCustomCommand
public boolean sendCustomCommand(ZegoUser[] listMember, java.lang.String content, ZegoCustomCommandDelegate delegate)
发送自定义消息.- Parameters:
listMember
- 接受消息的用户列表content
- 消息内容delegate
- 消息发送结果- Returns:
- true: 发送成功; false: 发送失败
-
setAudioPlayerDelegate
public void setAudioPlayerDelegate(ZegoAudioLivePlayerDelegate delegate)
音频播放回调。- Parameters:
delegate
- 音频播放回调协议
-
enableSpeaker
public boolean enableSpeaker(boolean enable)
静音开头(声音输出)- Parameters:
enable
- true 开启;false 静音- Returns:
- true 设置成功;false 设置失败
-
setBuiltinSpeakerOn
public boolean setBuiltinSpeakerOn(boolean switchOn)
手机内置扬声器开关- Parameters:
switchOn
- true 打开; false 关闭- Returns:
- true 设置成功;false 设置失败
-
setPlayVolume
public void setPlayVolume(int volume)
设置播放音量- Parameters:
volume
- 音量大小, 取值范围[0, 200], 默认 100
-
setPlayVolume
public boolean setPlayVolume(int volume, java.lang.String streamId)
设置指定流 ID 的播放音量。 拉流之后有效,本次拉流有效。- Parameters:
volume
- 音量大小, 取值范围[0, 200], 默认 100streamId
- 播放流 ID- Returns:
- true:调用成功, false:调用失败
-
getSoundLevelOfStream
public float getSoundLevelOfStream(java.lang.String streamId)
获取当前播放音频的音量- Parameters:
streamId
- 播放流名- Returns:
- 对应音频的音量
-
enableSelectedAudioRecord
@Deprecated public boolean enableSelectedAudioRecord(int mask, int sampleRate)
Deprecated.开启音频回调。注意:在启动推流或者启动本地录制(MediaRecorder)的时候,才能开启音频录制
- Parameters:
mask
- 音源选择,参考ZegoConstants.AudioRecordMask
sampleRate
- 采样率 8000, 16000, 22050, 24000, 32000, 44100, 48000- Returns:
- true:调用成功, false:调用失败
-
enableSelectedAudioRecord
public boolean enableSelectedAudioRecord(ZegoAudioRecordConfig config)
开启音源回调,常用于音频录制。提示:
initWithAppId(long, byte[], android.content.Context)
后调用. 开启音频录制后, 需通过setAudioRecordDelegate(ZegoAudioLiveRecordDelegate)
设置音频回调代码,以接收 SDK 传回的音频数据。注意:在启动推流或者启动本地录制(MediaRecorder)的时候,才能开启音频录制
- Parameters:
config
- 音频录制配置信息, 参考ZegoAudioRecordConfig
- Returns:
- true:调用成功, false:调用失败
- See Also:
setAudioPrepDelegate(ZegoAudioPrepDelegate2, ZegoExtPrepSet)
-
setAudioRecordDelegate
public void setAudioRecordDelegate(ZegoAudioLiveRecordDelegate delegate)
设置音频录制回调接口。- Parameters:
delegate
- 实现ZegoAudioLiveRecordDelegate
接口的对你实例,用于接收 SDK 传回的音频数据,如用于永久存储等- See Also:
enableSelectedAudioRecord(ZegoAudioRecordConfig)
-
enableDTX
public void enableDTX(boolean enable)
是否开启离散音频包发送注意:
1.推流前调用有效。以 RTC 方式推流,此接口才会生效。
2.可以和 enableVAD 配合使用。
3.开启离散音频包发送可以在关闭麦克风或者静音的状态下,停止音频包的发送,节省用户流量。
4.如果为音频单流(非混流)转推 CDN,开启此选项将导致 CDN 在设定时间内未收到数据包认为流关闭而断开连接,所以此种情况不建议开启。
5.SDK 默认关闭该特性。- Parameters:
enable
- true 开启,推流中检测为静音的数据包不发送;false 关闭,推流中的静音数据包照常发送。默认是 false。
-
enableVAD
public void enableVAD(boolean enable)
是否开启语音活动检测- Parameters:
enable
- true 开启; false 关闭, 默认关闭 提示: 在推流前调用,只有纯 UDP 方案才可以调用此接口.
-
setAudioBitrate
public boolean setAudioBitrate(int bitrate)
设置音频码率.- Parameters:
bitrate
- 码率,单位 b/s- Returns:
- true:调用成功;false:调用失败
-
restartPublishStream
public boolean restartPublishStream()
当ZegoAudioLivePublisherDelegate.onPublishStateUpdate(int, String, HashMap)
回调返回推流失败时,调用该 API 进行重新推流- Returns:
- true 调用成功(不表示推流一定成功);false 调用失败
-
restartPlayStream
public boolean restartPlayStream(java.lang.String streamId)
当ZegoAudioLivePlayerDelegate.onPlayStateUpdate(int, ZegoAudioStream)
回调返回拉流失败时,可通过此 API 重新拉流。- Parameters:
streamId
- 需要重新拉取的流 ID- Returns:
- true 调用成功(不表示拉流一定成功);false 调用失败
-
enableAECWhenHeadsetDetected
public void enableAECWhenHeadsetDetected(boolean enable)
耳机插入状态下是否使用回声消除。注意:InitSDK之后,推流之前使用。
- Parameters:
enable
- true 使用,false 不使用。默认 false
-
enableAudioTrafficControl
public void enableAudioTrafficControl(boolean enable)
设置是否开启音频流量控制注意:只适用于 UDP 推流。
- Parameters:
enable
- true 开启,false 不开启。
-
getLiveRoomInstance
public ZegoLiveRoom getLiveRoomInstance()
获取 ZegoLiveRoom 实例(当需要使用 ZegoLiveRoom 实例的方法,但 ZegoAudioRoom 又没有提供时,可通过此 API 获取 ZegoLiveRoom 实例后直接调用)。大部分情况下,ZegoAudioRoom 提供的方法已经够用,应尽量避免直接使用 ZegoLiveRoom 实例的方法,以免出现时序不对或者逻辑冲突等问题。
-
setAudioEqualizerGain
@Deprecated public boolean setAudioEqualizerGain(int bandIndex, float bandGain)
Deprecated.请使用 ZegoAudioProcessing.setAudioEqualizerGain(int, float)音效均衡器注意:在InitSDK之后调用。使用此接口前请与即构技术支持联系确认是否支持此功能
- Parameters:
bandIndex
- 取值范围[0, 9]。分别对应10个频带,其中心频率分别是[31, 62, 125, 250, 500, 1K, 2K, 4K, 8K, 16K]HzbandGain
- 取值范围[-15, 15]。默认值是0,如果所有频带的增益值全部为0,则会关闭EQ功能- Returns:
- true 调用成功,false 调用失败
-
updateStreamExtraInfo
public boolean updateStreamExtraInfo(java.lang.String extraInfo)
更新流的附加信息.- Parameters:
extraInfo
- 流附加信息, 最大为 1024 字节- Returns:
- true: 调用成功,房间内其他人会收到
ZegoAudioRoomDelegate.onStreamExtraInfoUpdated(com.zego.zegoaudioroom.ZegoAudioStream[], java.lang.String)
回调, false: 调用失败
-
setRecvBufferLevelLimit
public boolean setRecvBufferLevelLimit(int minBufferLevel, int maxBufferLevel, java.lang.String streamId)
设置拉流播放缓存自适应调整的区间范围(上下限)注意:
调用时机为拉流前或者拉流中, 每次拉流都需要重新设置
上下限在未设置时, 内部默认区间范围 [0, 4000]
当设置的上限小于下限时,会自动将上限取值为下限- Parameters:
minBufferLevel
- 缓存自适应区间下限, 单位毫秒. 当设置的值小于等于0表示未设置下限.maxBufferLevel
- 缓存自适应区间上限, 单位毫秒. 当设置的值小于等于0表示未设置上限. 当设置的上限超过4000时,会取值4000.streamId
- 流 ID- Returns:
- true 设置成功, false 设置失败
-
-