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 intERROR_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 voidenableAEC(boolean enable)回声消除开关。voidenableAECWhenHeadsetDetected(boolean enable)耳机插入状态下是否使用回声消除。voidenableAGC(boolean enable)音频采集自动增益开关。 默认关闭voidenableAlignedAudioAuxData(boolean enable, ZegoAudioAuxDataConfig config)开启/关闭抛出对齐后的混音数据特性setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback)设置对齐后的混音数据回调voidenableAudioPostp(boolean enable, java.lang.String streamId)开启或关闭音频后处理功能,并设置预处理参数,通过setAudioPostpDelegate(ZegoAudioPostpDelegate, ZegoExtPrepSet)设置的回调处理音频数据voidenableAudioTrafficControl(boolean enable)设置是否开启音频流量控制voidenableDTX(boolean enable)是否开启离散音频包发送booleanenableLoopback(boolean enable)开启/关闭采集监听。booleanenableMic(boolean enable)开启/关闭麦克风。booleanenableMicDevice(boolean enable)设置是否允许SDK使用麦克风设备。调用时机为引擎创建后的任意时刻。接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用。booleanenableNoiseSuppress(boolean enable)音频采集噪声抑制开关.booleanenableSelectedAudioRecord(int mask, int sampleRate)Deprecated.booleanenableSelectedAudioRecord(ZegoAudioRecordConfig config)开启音源回调,常用于音频录制。booleanenableSpeaker(boolean enable)静音开头(声音输出)booleanenableTransientNoiseSuppress(boolean enable)音频采集的瞬态噪声抑制开关(消除键盘、敲桌子等瞬态噪声)voidenableVAD(boolean enable)是否开启语音活动检测floatgetCaptureSoundLevel()获取当前音频采集的音量。ZegoLiveRoomgetLiveRoomInstance()获取 ZegoLiveRoom 实例(当需要使用 ZegoLiveRoom 实例的方法,但 ZegoAudioRoom 又没有提供时,可通过此 API 获取 ZegoLiveRoom 实例后直接调用)。static intgetMaxPlayChannelCount()获取 SDK 支持的最大同时播放流数 (static method)floatgetSoundLevelOfStream(java.lang.String streamId)获取当前播放音频的音量booleaninitWithAppId(long appId, byte[] appSignature, android.content.Context context)初始化 SDK。booleanloginRoom(java.lang.String roomId, ZegoLoginAudioRoomCallback delegate)登录房间。booleanlogoutRoom()退出房间,停止所有的推拉流。voidpauseAudioModule()暂停音频模块。 用于需要暂停指定模块的场合,例如来电时暂定音频模块; 暂停指定模块后,注意在合适时机下恢复模块。voidpauseModule(int moduleType)暂停设备模块。 用于需要暂停指定模块的场合,例如来电时; 暂停指定模块后,注意在合适时机下恢复模块。booleanrestartPlayStream(java.lang.String streamId)当ZegoAudioLivePlayerDelegate.onPlayStateUpdate(int, ZegoAudioStream)回调返回拉流失败时,可通过此 API 重新拉流。booleanrestartPublishStream()当ZegoAudioLivePublisherDelegate.onPublishStateUpdate(int, String, HashMap)回调返回推流失败时,调用该 API 进行重新推流voidresumeAudioModule()恢复音频模块。 用于需要恢复指定模块的场合,例如来电结束后恢复音频模块。voidresumeModule(int moduleType)恢复设备模块。 用于需要恢复指定模块的场合,例如来电结束后。booleansendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, ZegoBigRoomMessageDelegate delegate)发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。booleansendCustomCommand(ZegoUser[] listMember, java.lang.String content, ZegoCustomCommandDelegate delegate)发送自定义消息.booleansendRoomMessage(int messageType, int messageCategory, java.lang.String content, ZegoRoomMessageDelegate delegate)房间发送广播消息.voidsetAECMode(int mode)设置回声消除模式voidsetAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback callback)设置对齐后的混音数据回调enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)设置为 true 时才会回调voidsetAudioAVEngineDelegate(ZegoAudioAVEngineDelegate delegate)设置音频引擎状态回调。booleansetAudioBitrate(int bitrate)设置音频码率.voidsetAudioChannelCount(int count)设置推流音频声道数.static booleansetAudioDevice(int deviceType, java.lang.String deviceId)设置音频设备。voidsetAudioDeviceEventDelegate(ZegoAudioDeviceEventDelegate delegate)设置音频设备错误通知回调。static voidsetAudioDeviceMode(int mode)设置音频设备模式.booleansetAudioEqualizerGain(int bandIndex, float bandGain)Deprecated.请使用 ZegoAudioProcessing.setAudioEqualizerGain(int, float)voidsetAudioLiveEventDelegate(ZegoAudioLiveEventDelegate delegate)设置音频直播事件回调。voidsetAudioPlayerDelegate(ZegoAudioLivePlayerDelegate delegate)音频播放回调。voidsetAudioPostpDelegate(ZegoAudioPostpDelegate callback, ZegoExtPrepSet config)设置音频后处理回调,仅在enableAudioPostp(boolean, String)设置为 true 时才会回调voidsetAudioPrepAfterLoopbackDelegate(ZegoAudioProcDelegate callback, ZegoExtPrepSet config)设置音频(耳返后)处理回调, 并开启/关闭音频处理特性voidsetAudioPrepDelegate(ZegoAudioPrepDelegate2 callback, ZegoExtPrepSet config)设置音频前(3A处理后、耳返前)处理回调, 并开启/关闭音频前处理特性voidsetAudioPublisherDelegate(ZegoAudioLivePublisherDelegate delegate)设置音频发布者回调协议。voidsetAudioPublisherExDelegate(ZegoAudioLivePublisherExDelegate delegate)设置音频发布者回调协议。voidsetAudioRecordDelegate(ZegoAudioLiveRecordDelegate delegate)设置音频录制回调接口。voidsetAudioRoomDelegate(ZegoAudioRoomDelegate delegate)设置房间事件回调。voidsetAudioRouteDelegate(ZegoAudioRouteDelegate delegate)设置音频路由回调booleansetBuiltinSpeakerOn(boolean switchOn)手机内置扬声器开关voidsetCaptureVolume(int volume)设置采集音量static voidsetConfig(java.lang.String config)设置sdk配置信息.voidsetCustomToken(java.lang.String thirdPartyToken)设置自定义token信息。voidsetLatencyMode(int mode)设置音频延迟模式(编码模式)。voidsetLoopbackVolume(int volume)设置采集监听音量。voidsetManualPlay(boolean manual)设置是否手动拉流。voidsetManualPublish(boolean manual)设置是否手动推流。booleansetNoiseSuppressMode(int mode)设置音频采集降噪等级。voidsetPlayVolume(int volume)设置播放音量booleansetPlayVolume(int volume, java.lang.String streamId)设置指定流 ID 的播放音量。 拉流之后有效,本次拉流有效。booleansetRecvBufferLevelLimit(int minBufferLevel, int maxBufferLevel, java.lang.String streamId)设置拉流播放缓存自适应调整的区间范围(上下限)static booleansetUser(java.lang.String userId, java.lang.String userName)设置用户信息voidsetUserStateUpdate(boolean userStateUpdate)设置用户进入/退出房间是否通知其他用户,默认不通知。 userStateUpdate为房间属性而非用户属性,设置的是该房间内是否会进行用户状态的广播。如果需要在房间内用户状态改变时,其他用户能收到通知,请为所有用户设置为true;反之,设置为false。设置为true后,方可从OnUserUpdate回调收到用户状态变更通知static voidsetUseTestEnv(boolean useTestEnv)是否启用测试环境。默认关闭static voidsetVerbose(boolean onVerbose)调试信息开关。默认关闭booleanstartPlay(java.lang.String streamId)手动拉流。booleanstartPlay(java.lang.String streamId, ZegoStreamExtraPlayInfo info)手动拉流。booleanstartPublish()手动推流。booleanstartPublish(java.lang.String streamId)手动推流。booleanstopPlay(java.lang.String streamId)手动停止拉流。booleanstopPublish()手动停止推流。booleanswitchRoom(java.lang.String roomId, ZegoLoginAudioRoomCallback delegate)切换房间 调用成功 会停止推拉流(登录房间成功后,需要快速切换到其它房间时使用)voidunInit()释放 SDK 资源,停止各种系统监听。booleanupdateStreamExtraInfo(java.lang.String extraInfo)更新流的附加信息.static voiduploadLog()触发日志上报static java.lang.Stringversion()static java.lang.Stringversion2()
-
-
-
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.AudioDeviceTypedeviceId- 设备 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.MessageTypemessageCategory- 消息分类, 详见ZegoIM.MessageCategorycontent- 消息内容,小于 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.MessageTypemessageCategory- 消息分类, 详见ZegoIM.MessageCategorycontent- 消息内容, 小于 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.AudioRecordMasksampleRate- 采样率 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 设置失败
-
-