声网通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。

频道管理

方法 描述
GetEngine 初始化 IRtcEngine 实例。
GetEngine2 初始化 IRtcEngine 实例并指定访问区域。
Destroy 销毁 IRtcEngine 实例。
SetChannelProfile 设置频道场景。
SetClientRole 设置直播场景下的用户角色。
JoinChannel 加入频道。
JoinChannelByKey 使用 Token 加入频道。
SwitchChannel 快速切换直播频道。
LeaveChannel 离开频道。
RenewToken 更新 Token。
GetConnectionState 获取网络连接状态。

频道事件

事件 描述
OnConnectionStateChangedHandler 网络连接状态已改变回调。
OnJoinChannelSuccessHandler 加入频道回调。
OnReJoinChannelSuccessHandler 重新加入频道回调。
OnLeaveChannelHandler 离开频道回调。
OnClientRoleChangedHandler 用户角色已切换回调。
OnUserJoinedHandler 远端用户加入当前频道回调。
OnUserOfflineHandler 远端用户离开当前频道回调。
OnNetworkTypeChangedHandler 本地网络类型发生改变回调。
OnConnectionLostHandler 网络连接丢失回调。
OnTokenPrivilegeWillExpireHandler Token 服务即将过期回调。
OnRequestTokenHandler Token 已过期回调。

音频管理

方法 描述
EnableAudio 启用音频模块。
DisableAudio 关闭音频模块。
SetAudioProfile 设置音频编码配置。
AdjustRecordingSignalVolume 调节录音音量。
AdjustUserPlaybackSignalVolume 调节本地播放的指定远端用户音量。
AdjustPlaybackSignalVolume 调节播放所有远端用户的音量。
EnableLocalAudio 开关本地音频采集。
MuteLocalAudioStream 停止/恢复发送本地音频流。
MuteRemoteAudioStream 停止/恢复接收指定音频流。
MuteAllRemoteAudioStreams 停止/恢复接收所有音频流。
SetDefaultMuteAllRemoteAudioStreams 设置是否默认接收音频流。

音量提示

方法 描述
EnableAudioVolumeIndication 启用说话者音量提示。
事件 描述
OnVolumeIndicationHandler 提示频道内谁正在说话、说话者音量及本地用户是否在说话的回调。
OnActiveSpeakerHandler 监测到活跃用户回调。

人脸检测

方法 描述
EnableFaceDetection 开启/关闭本地人脸检测。
事件 描述
OnFacePositionChangedHandler 报告本地人脸检测结果。

视频管理

方法 描述
EnableVideo 开启视频模块。
EnableVideoObserver 开启视频观测器。
DisableVideo 关闭视频模块。
DisableVideoObserver 关闭视频观测器。
SetVideoEncoderConfiguration 设置视频编码配置。
SetForUser 设置本地/远端视频显示。
StartPreview 开启视频预览。
StopPreview 停止视频预览。
EnableLocalVideo 开关本地视频采集。
MuteLocalVideoStream 停止/恢复发送本地视频流。
MuteRemoteVideoStream 停止/恢复接收指定视频流。
MuteAllRemoteVideoStreams 停止/恢复接收所有视频流。
SetDefaultMuteAllRemoteVideoStreams 设置是否默认停止接收视频流。

音效文件播放管理

方法 描述
GetEffectsVolume 获取音效文件的播放音量。
SetEffectsVolume 设置音效文件的播放音量。
SetVolumeOfEffect 实时调整音效文件的播放音量。
PlayEffect 播放指定音效文件。
StopEffect 停止播放指定音效文件。
StopAllEffects 停止播放所有音效文件。
PreloadEffect 将音效文件加载至内存。
UnloadEffect 从内存释放某个预加载的音效文件。
PauseEffect 暂停音效文件播放。
PauseAllEffects 暂停所有音效文件播放。
ResumeEffect 恢复播放指定音效文件。
ResumeAllEffects 恢复播放所有音效文件。
SetVoiceOnlyMode 设置仅限语音模式。
事件 描述
OnAudioEffectFinishedHandler 本地音效文件播放已结束回调。

变声与混响

方法 描述
SetLocalVoiceChanger 设置本地语音变声。
SetLocalVoiceReverbPreset 设置本地语音混响。
SetLocalVoicePitch 设置本地语音音调。
SetLocalVoiceEqualization 设置本地语音音效均衡。
SetLocalVoiceReverb 设置本地音效混响。

听声辨位

方法 描述
EnableSoundPositionIndication 开启/关闭远端用户的语音立体声。
SetRemoteVoicePosition 设置远端用户的语音位置。

音频播放路由

该组方法仅适用于 Android 和 iOS 平台。

方法 描述
SetDefaultAudioRouteToSpeakerphone 设置默认的音频播放路由。
SetEnableSpeakerphone 启用/关闭扬声器播放。
IsSpeakerphoneEnabled 查询扬声器启用状态。
事件 描述
OnAudioRouteChangedHandler 语音路由已改变回调。

本地媒体事件

事件 描述
OnLocalAudioStateChangedHandler 本地音频状态改变回调。
OnLocalVideoStateChangedHandler 本地视频状态改变回调。
OnFirstLocalAudioFrameHandler 已发送本地音频首帧回调。
OnFirstLocalVideoFrameHandler 已发送本地视频首帧回调。

远端媒体事件

事件 描述
OnRemoteAudioStateChangedHandler 远端用户音频状态已改变回调。
OnRemoteVideoStateChangedHandler 远端用户视频状态已变化回调。
OnFirstRemoteVideoFrameHandler 已显示远端视频首帧回调。

数据统计事件

加入频道后,SDK 每隔 2 秒自动触发本组回调。

事件 描述
OnRtcStatsHandler 当前通话统计回调。
OnNetworkQualityHandler 网络上下行质量报告回调。
OnLocalAudioStatsHandler 通话中本地音频流统计信息回调。
OnLocalVideoStatsHandler 通话中本地视频流统计信息回调。
OnRemoteAudioStatsHandler 通话中远端音频流的统计信息回调。
OnRemoteVideoStatsHandler 通话中远端视频流统计信息回调。

视频前处理及后处理

方法 描述
SetBeautyEffectOptions 设置美颜效果选项。(该方法仅适用于 Android 和 iOS 平台。)

Multi-channel management

我们为该组接口提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考加入多频道

方法 描述
CreateChannel 创建并获取一个 AgoraChannel 对象。通过创建多个对象,用户可以同时加入多个频道。
SetMultiChannelWant 设置是否开启多频道模式。
SetForMultiChannelUser 在多频道中设置本地/远端视频显示。
AgoraChannel 提供在指定频道内实现实时音视频功能的方法。

屏幕共享

该组方法仅适用于 Windows 或 macOS 平台。

方法 描述
StartScreenCaptureByDisplayId 通过屏幕 ID 共享屏幕。
StartScreenCaptureByScreenRect 通过指定区域共享屏幕。
StartScreenCaptureByWindowId 通过窗口 ID 共享窗口。
SetScreenCaptureContentHint 设置屏幕共享内容类型。
UpdateScreenCaptureParameters 更新屏幕共享的编码参数配置。
UpdateScreenCaptureRegion 更新屏幕共享区域。
StopScreenCapture 停止屏幕共享。

音乐文件播放及混音

方法 描述
StartAudioMixing 开始播放音乐文件。
StopAudioMixing 停止播放音乐文件。
PauseAudioMixing 暂停播放音乐文件。
ResumeAudioMixing 恢复播放音乐文件。
AdjustAudioMixingVolume 调节音乐文件播放音量。
AdjustAudioMixingPlayoutVolume 调节音乐文件的本地播放音量。
AdjustAudioMixingPublishVolume 调节音乐文件的远端播放音量。
SetAudioMixingPitch 调整本地播放的音乐文件的音调。
GetAudioMixingPlayoutVolume 获取音乐文件的本地播放音量。
GetAudioMixingPublishVolume 获取音乐文件的远端播放音量。
GetAudioMixingDuration 获取音乐文件播放时长。
GetAudioMixingCurrentPosition 获取音乐文件的播放进度。
SetAudioMixingPosition 设置音乐文件的播放位置。
事件 描述
OnAudioMixingStateChangedHandler 本地用户的音乐文件播放状态改变回调。
OnRemoteAudioMixingBeginHandler 远端音乐文件播放已开始回调。
OnRemoteAudioMixingEndHandler 远端音乐文件播放已结束回调。

CDN 推流

该组方法仅适用于互动直播。

方法 描述
SetLiveTranscoding 设置直播转码。
AddPublishStreamUrl 增加旁路推流地址。
RemovePublishStreamUrl 删除旁路推流地址。
事件 描述
OnRtmpStreamingStateChangedHandler RTMP 推流状态发生改变回调。
OnTranscodingUpdatedHandler 旁路推流设置已被更新回调。

跨频道媒体流转发

方法 描述
StartChannelMediaRelay 开始跨频道媒体流转发。
UpdateChannelMediaRelay 更新媒体流转发的频道。
StopChannelMediaRelay 停止跨频道媒体流转发。
事件 描述
OnChannelMediaRelayStateChangedHandler 跨频道媒体流转发状态发生改变回调。
OnChannelMediaRelayEventHandler 跨频道媒体流转发事件回调。

耳返控制

该组方法仅使用于 Android 和 iOS 平台。

方法 描述
EnableInEarMonitoring 开启耳返功能。
SetInEarMonitoringVolume 设置默认的音频播放路由。

视频双流模式

方法 描述
EnableDualStreamMode 开关视频双流模式。
SetRemoteVideoStreamType 设置订阅的视频流类型。
SetRemoteDefaultVideoStreamType 设置默认订阅的视频流类型。

直播音视频回退

该组方法仅适用于互动直播。

方法 描述
SetLocalPublishFallbackOption 设置弱网条件下发布的音视频流的回退选项。
SetRemoteSubscribeFallbackOption 设置弱网条件下订阅的音视频流的回退选项。
SetRemoteUserPriority 设置远端用户流的优先级。
事件 描述
OnLocalPublishFallbackToAudioOnlyHandler 本地发布流已回退为音频流或恢复为音视频流回调。
OnRemoteSubscribeFallbackToAudioOnlyHandler 远端订阅流已回退为音频流或恢复为音视频流回调。

通话前网络测试

方法 描述
StartEchoTest 开始语音通话回路测试。
StopEchoTest 停止语音通话回路测试。
EnableLastmileTest 启动网络测试。
DisableLastmileTest 关闭网络测试。
StartLastmileProbeTest 通话前网络上下行 last mile 质量报告回调。
StopLastmileProbeTest 停止通话前网络质量探测。
事件 描述
OnLastmileQualityHandler 本地网络质量报告回调。
OnLastmileProbeResultHandler 通话前网络质量探测报告回调。

视频自采集(仅 Push 模式)

方法 描述
SetExternalVideoSource 配置外部视频源。
PushVideoFrame 推送外部视频帧。

音频自采集(仅 Push 模式)

方法 描述
SetExternalAudioSource 设置外部音频采集参数。
PushAudioFrame 推送外部音频帧。

音频自渲染(仅 Pull 模式)

该组方法仅适用于 Windows。

方法 描述
SetExternalAudioSink 设置外部音频渲染。
PullAudioFrame 主动拉取外部音频帧。

原始音频数据

方法 描述
RegisterAudioRawDataObserver 注册语音观测器对象。
UnRegisterAudioRawDataObserver 注销语音观测器对象。
SetOnRecordAudioFrameCallback 监听 OnRecordAudioFrameHandler delegate。
SetOnPlaybackAudioFrameCallback 监听 OnPlaybackAudioFrameHandler delegate。
SetOnPlaybackAudioFrameBeforeMixingCallback 监听 OnPlaybackAudioFrameBeforeMixingHandler delegate。
SetOnMixedAudioFrameCallback 监听 OnMixedAudioFrameHandler delegate。
事件 描述
OnRecordAudioFrameHandler 10 ms 自动回调:获得录制的声音。
OnPlaybackAudioFrameHandler 10 ms 自动回调:获得播放的声音。
OnPlaybackAudioFrameBeforeMixingHandler 10 ms 自动回调:获得混音前的指定用户的声音。
OnMixedAudioFrameHandler 10 ms 自动回调:获取录制和播放语音混音后的数据。

原始视频数据

方法 描述
RegisterVideoRawDataObserver 注册视频观测器对象。
UnRegisterVideoRawDataObserver 注销视频观测器对象。
SetOnCaptureVideoFrameCallback 监听 OnCaptureVideoFrameHandler delegate。
SetOnRenderVideoFrameCallback 监听 OnRenderVideoFrameHandler delegate。
事件 描述
OnCaptureVideoFrameHandler 获取本地摄像头采集到的视频数据。
OnRenderVideoFrameHandler 获取远端发送的视频数据。

媒体附属信息

该组方法仅适用于互动直播。

方法 描述
RegisterMediaMetadataObserver 注册媒体 Metadata 观测器。
UnRegisterMediaMetadataObserver 注销媒体 Metadata 观测器。
事件 描述
OnGetMaxMetadataSizeHandler 请求最大的 Metadata 大小回调。
OnReadyToSendMetadataHandler 发送端已准备好发送 Metadata 回调。
OnMediaMetaDataReceivedHandler 接收端已收到 Metadata 回调。

直播水印

该组方法仅适用于互动直播。

方法 描述
AddVideoWatermark 添加本地视频水印。
ClearVideoWatermarks 删除已添加的视频水印。

加密

方法 描述
SetEncryptionSecret 启用内置加密,并设置数据加密密钥。
SetEncryptionMode 设置内置的加密方案。
RegisterPacketObserver 注册数据包观测器。
UnRegisterPacketObserver 注销数据包观测器。

音频录制

方法 描述
StartAudioRecording 开始客户端录音。
StopAudioRecording 停止客户端录音。

直播输入在线媒体流

该组方法仅适用于互动直播。

方法 描述
AddInjectStreamUrl 输入在线媒体流。
RemoveInjectStreamUrl 删除输入的在线媒体流。
事件 描述
OnStreamInjectedStatusHandler 输入在线媒体流状态回调。

摄像头控制

方法 描述
SwitchCamera 切换前置/后置摄像头(仅适用于 Android 和 iOS)。

音频设备管理

该组方法仅适用于 Windows 和 macOS 平台。

方法 描述
CreateAAudioPlaybackDeviceManager 创建 AudioPlaybackDeviceManager 实例。
ReleaseAAudioPlaybackDeviceManager 释放 AudioPlaybackDeviceManager 实例。
CreateAAudioRecordingDeviceManager 创建 AudioRecordingDeviceManager 实例。
ReleaseAAudioRecordingDeviceManager 释放 AudioRecordingDeviceManager 实例。
GetAudioPlaybackDeviceCount 获取系统中被索引的音频播放设备的总数。
GetAudioRecordingDeviceCount 获取系统中被索引的音频采集设备的总数。
GetAudioPlaybackDevice 获取某个被索引的音频播放设备的指定信息。
GetAudioRecordingDevice 获取某个被索引的音频采集设备的指定信息。
SetAudioPlaybackDevice 指定音频播放设备。
SetAudioRecordingDevice 指定音频采集设备。
StartAudioPlaybackDeviceTest 启动音频播放设备测试。
StopAudioPlaybackDeviceTest 停止音频播放设备测试。
StartAudioRecordingDeviceTest 启动音频采集设备测试。
StopAudioRecordingDeviceTest 停止音频采集设备测试。
SetAudioPlaybackDeviceVolume 设置当前音频播放设备的音量。
GetAudioPlaybackDeviceVolume 获取当前音频播放设备的音量。
SetAudioRecordingDeviceVolume 设置当前音频采集设备的音量。
GetAudioRecordingDeviceVolume 获取当前音频采集设备的音量。
SetAudioPlaybackDeviceMute 静音当前音频播放设备。
IsAudioPlaybackDeviceMute 获取当前音频播放设备的静音状态。
SetAudioRecordingDeviceMute 静音当前音频采集设备。
IsAudioRecordingDeviceMute 获取当前音频采集设备的静音状态。
GetCurrentPlaybackDevice 获取当前音频播放设备的 ID。
GetCurrentRecordingDevice 获取当前音频采集设备的 ID。
GetCurrentPlaybackDeviceInfo 获取当前音频播放设备的信息。
GetCurrentRecordingDeviceInfo 获取当前音频采集设备的信息。
事件 描述
OnAudioDeviceStateChangedHandler 音频设备变化回调。
OnAudioDeviceVolumeChangedHandler 回放、录音设备或 app 的音量发生改变。

视频设备管理

该组方法仅适用于 Windows 和 macOS 平台。

方法 描述
CreateAVideoDeviceManager 创建 VideoDeviceManager 实例。
ReleaseAVideoDeviceManager 释放 VideoDeviceManager 实例。
GetVideoDeviceCount 获取系统中被索引的视频采集设备的总数。
GetVideoDevice 获取某个被索引的视频采集设备的指定信息。
SetVideoDevice 指定视频采集设备。
StartVideoDeviceTest 启动视频采集设备测试。
StopVideoDeviceTest 停止视频采集设备测试。
GetCurrentVideoDevice 获取当前视频采集设备的 ID。
事件 描述
OnVideoDeviceStateChangedHandler 视频设备变化回调。

流消息

方法 描述
CreateDataStream 创建数据流。
SendStreamMessage 发送数据流。
事件 描述
OnStreamMessageHandler 接收到对方数据流消息回调。
OnStreamMessageErrorHandler 接收对方数据流消息发生错误回调。

其他音频控制

方法 描述
EnableLoopbackRecording 开启声卡采集(仅适用于 macOS 和 Windows)。
SetAudioSessionOperationRestriction 设置 SDK 对 Audio Session 的控制权限(仅适用于 iOS)。

其他视频控制

方法 描述
SetCameraCapturerConfiguration 设置摄像头采集偏好。

其他方法

方法 描述
SetGameFps 设置视频渲染帧率。
EnableFilpTextureApply 开启或关闭镜像模式。
SetVideoSurfaceType 设置视频渲染器类型。
SetEnable 开始/停止视频渲染。
GetCallId 获取通话 ID。
Rate 给通话评分。
Complain 投诉通话质量。
GetSdkVersion 查询 SDK 版本号。
SetLogFile 设置日志文件。
SetLogFilter 设置日志输出等级。
SetLogFileSize 设置日志文件大小。
GetErrorDescription 获取警告或错误描述。

其他事件

事件 描述
OnSDKWarningHandler 发生警告回调。
OnSDKErrorHandler 发生错误回调。
OnApiExecutedHandler API 方法已执行回调。

警告码

警告码 描述
WARN_INVALID_VIEW 8: 指定的 view 无效,使用视频功能时需要指定 view,如果 view 尚未指定,则返回该警告。
WARN_INIT_VIDEO 16: 初始化视频功能失败。有可能是因视频资源被占用导致的。用户无法看到视频画面,但不影响语音通信。
WARN_PENDING 20: 请求处于待定状态。一般是由于某个模块还没准备好,请求被延迟处理。
WARN_NO_AVAILABLE_CHANNEL 103: 没有可用的频道资源。可能是因为服务端没法分配频道资源。
WARN_LOOKUP_CHANNEL_TIMEOUT 104: 查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器。
WARN_LOOKUP_CHANNEL_REJECTED DEPRECATED 105: 查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的。从 v2.4.1 起废弃。请改用 OnConnectionStateChangedHandler 回调中的 CONNECTION_CHANGED_REJECTED_BY_SERVER(10)
WARN_OPEN_CHANNEL_TIMEOUT 106: 打开频道超时。查找到指定频道后,SDK 接着打开该频道,超时一般是因为网络太差,连接不到服务器。
WARN_OPEN_CHANNEL_REJECTED 107: 打开频道请求被服务器拒绝。服务器可能没有办法处理该请求或该请求是非法的。
WARN_SWITCH_LIVE_VIDEO_TIMEOUT 111: 切换直播视频超时。
WARN_SET_CLIENT_ROLE_TIMEOUT 118: 直播场景下设置用户角色超时。
WARN_OPEN_CHANNEL_INVALID_TICKET 121: TICKET 非法,打开频道失败。
WARN_OPEN_CHANNEL_TRY_NEXT_VOS 122: 尝试打开另一个服务器。
WARN_AUDIO_MIXING_OPEN_ERROR 701: 打开伴奏出错。
WARN_ADM_RUNTIME_PLAYOUT_WARNING 1014: 音频设备模块:运行时播放设备出现警告。
WARN_ADM_RUNTIME_RECORDING_WARNING 1016: 音频设备模块:运行时录音设备出现警告。
WARN_ADM_RECORD_AUDIO_SILENCE 1019: 音频设备模块:没有采集到有效的声音数据。
WARN_ADM_PLAYOUT_MALFUNCTION 1020: 音频设备模块:播放设备故障。
WARN_ADM_RECORD_MALFUNCTION 1021: 音频设备模块:录音设备故障。
WARN_ADM_IOS_CATEGORY_NOT_PLAYANDRECORD 1029:在通话过程中,Audio Session 的 category 必须设置成 AVAudioSessionCategoryPlayAndRecord ,IRtcEngine 会监控这个属性值。当这个值被修改成其他值的时候会触发这个告警,并强制设置回 AVAudioSessionCategoryPlayAndRecord 。
WARN_ADM_RECORD_AUDIO_LOWLEVEL 1031: 音频设备模块:录到的声音太低。
WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL 1032: 音频设备模块:播放的声音太低。
WARN_ADM_WINDOWS_NO_DATA_READY_EVENT 1040: 音频设备模块:音频驱动异常。解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动
WARN_APM_HOWLING 1051: 音频设备模块:录音声音监测到啸叫。
WARN_ADM_GLITCH_STATE 1052: 音频设备模块:音频播放会卡顿。
WARN_ADM_IMPROPER_SETTINGS 1053: 音频设备模块:音频底层设置被修改。
WARN_ADM_WIN_CORE_NO_PLAYOUT_DEVICE 1323: 音频设备模块:无可用音频播放设备。解决方案:插入音频设备
WARN_ADM_WIN_CORE_IMPROPER_CAPTURE_RELEASE 1324: 音频设备模块:音频采集释放有误。解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
WARN_SUPER_RESOLUTION_STREAM_OVER_LIMITATION 1610: 超分告警:远端用户的原始视频流的分辨率超出了可以应用超分辨率算法的要求。
WARN_SUPER_RESOLUTION_USER_COUNT_OVER_LIMITATION 1611: 超分告警:已指定一个远端用户使用超分辨率算法。
WARN_SUPER_RESOLUTION_DEVICE_NOT_SUPPORTED 1612: 超分告警:当前设备不支持超分算法。

错误码

错误码 描述
ERR_OK 0: 没有错误。
ERR_FAILED 1: 一般性的错误(没有明确归类的错误原因)。
ERR_INVALID_ARGUMENT 2: API 调用了无效的参数。例如指定的频道名含有非法字符。
ERR_NOT_READY 3: RTC 初始化失败。处理方法:检查音频设备状态。检查程序集完整性。尝试重新初始化 RTC 引擎。
ERR_NOT_SUPPORTED 4: RTC 当前状态不支持此项操作。
ERR_REFUSED 5: 调用被拒绝。
ERR_BUFFER_TOO_SMALL 6: 传入的缓冲区大小不足以存放返回的数据。
ERR_NOT_INITIALIZED 7: SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 IRtcEngine 对象并完成初始化。
ERR_NO_PERMISSION 9: 没有操作权限,仅供 SDK 内部使用,不通过 API 或者回调事件返回给 app。
ERR_TIMEDOUT 10: API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理事件过长,超过 10 秒没有返回,会出现此错误。
ERR_CANCELED 11: 请求被取消。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 app。
ERR_TOO_OFTEN 12: 调用频率太高。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 app。
ERR_BIND_SOCKET 13: SDK 内部绑定到网络 Socket 失败。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 app。
ERR_NET_DOWN 14: 网络不可用。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 app。
ERR_NET_NOBUFS 15: 没有网络缓冲区可用。仅供 SDK 内部使用,不通过 API 或者回调事件返回给 app。
ERR_JOIN_CHANNEL_REJECTED 17: 加入频道被拒绝。一般有以下原因:用户已进入频道,再次调用加入频道的 API,例如 JoinChannelByKey,会返回此错误。停止调用该方法即可。用户在做 Echo 测试时尝试加入频道。等待 Echo test 结束后再加入频道即可。
ERR_LEAVE_CHANNEL_REJECTED 18: 离开频道失败。一般有以下原因:
  • 用户已离开频道,再次调用退出频道的 API,例如 LeaveChannel,会返回此错误。停止调用该方法即可。
  • 用户尚未加入频道,就调用退出频道的 API。这种情况下无需额外操作。
ERR_ALREADY_IN_USE 19: 资源已被占用,不能重复使用。
ERR_ABORTED 20: SDK 放弃请求,可能由于请求次数太多。
ERR_INIT_NET_ENGINE 21: Windows 下特定的防火墙设置导致 SDK 初始化失败然后崩溃。
ERR_RESOURCE_LIMITED 22: 当用户 app 占用资源过多,或系统资源耗尽时,SDK 分配资源失败会返回该错误。
ERR_INVALID_APP_ID 101: 不是有效的 App ID。请更换有效的 App ID 重新加入频道。
ERR_INVALID_CHANNEL_NAME 102: 不是有效的频道名。请更换有效的频道名重新加入频道。
ERR_TOKEN_EXPIRED DEPRECATED 109: 从 v2.4.1 起废弃。请改用 OnConnectionStateChangedHandler 回调中的 CONNECTION_CHANGED_TOKEN_EXPIRED(9)。当前使用的 Token 过期,不再有效。一般有以下原因:
  • Token 授权时间戳无效:Token 授权时间戳为 Token 生成时的时间戳,自 1970 年 1 月 1 日开始到当前时间的描述。授权该 Token 在生成后的 24 小时内可以访问 Agora 服务。如果 24 小时内没有访问,则该 Token 无法再使用。需要重新在服务端申请生成 Token。
  • ;Token 服务到期时间戳已过期:用户设置的服务到期时间戳小于当前时间戳,无法继续使用 Agora 服务(比如正在进行的通话会被强制终止);设置服务到期时间并不意味着 Token 失效,而仅仅用于限制用户使用当前服务的时间。需要重新在服务端申请生成 Token。
ERR_INVALID_TOKEN DEPRECATED 110: 从 v2.4.1 起废弃。请改用 OnConnectionStateChangedHandler 回调中的 CONNECTION_CHANGED_INVALID_TOKEN(8)。生成的 Token 无效,一般有以下原因:
  • 用户在控制台上启用了 App Certificate,但仍旧在代码里仅使用了 App ID。当启用了 App Certificate,必须使用 Token。
  • ;字段 uid 为生成 Token 的必须字段,用户在调用 JoinChannelByKey 加入频道时必须设置相同的 uid。
ERR_CONNECTION_INTERRUPTED 111: 网络连接中断。仅适用于 Agora Web SDK。
ERR_CONNECTION_LOST 112: 网络连接丢失。仅适用于 Agora Web SDK。
ERR_NOT_IN_CHANNEL 113: 用户不在频道内。在调用 SendStreamMessage 时,当调用发生在频道外时,会发生该错误.
ERR_SIZE_TOO_LARGE 114: 在调用 SendStreamMessage 时,当发送的数据长度大于 1024 个字节时,会发生该错误。
ERR_BITRATE_LIMIT 115: 在调用 SendStreamMessage 时,当发送的数据频率超过限制时(6 KB/s),会发生该错误。
ERR_TOO_MANY_DATA_STREAMS 116: 在调用 CreateDataStream 时,如果创建的数据通道过多(超过 5 个通道),会发生该错误。
ERR_STREAM_MESSAGE_TIMEOUT 117: 数据流发送超时。
ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED 119: 切换角色失败。请尝试重新加入频道。
ERR_DECRYPTION_FAILED 120: 解密失败,可能是用户加入频道用了不同的密码。请检查加入频道时的设置,或尝试重新加入频道。
ERR_CLIENT_IS_BANNED_BY_SERVER 123: 此用户被服务器禁止。
ERR_WATERMARK_PARAM 124: 水印文件参数错误。
ERR_WATERMARK_PATH 125: 水印文件路径错误。
ERR_WATERMARK_PNG 126: 水印文件格式错误。
ERR_WATERMARKR_INFO 127: 水印文件信息错误。
ERR_WATERMARK_ARGB 128: 水印文件数据格式错误。
ERR_WATERMARK_READ 129: 水印文件读取错误。
ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH 130: 在调用 AddPublishStreamUrl 时,如果开启了加密,则会返回该错误(推流不支持加密流)。
ERR_INVALID_USER_ACCOUNT 134: 无效的 User account.
ERR_PUBLISH_STREAM_CDN_ERROR 151: CDN 相关错误。请调用 RemovePublishStreamUrl 方法删除原来的推流地址,然后调用 AddPublishStreamUrl 方法重新推流到新地址。
ERR_PUBLISH_STREAM_NUM_REACH_LIMIT 152: 单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。
ERR_PUBLISH_STREAM_NOT_AUTHORIZED 153: 操作不属于主播自己的流,如更新其他主播的流参数、停止其他主播的流。请检查 app 逻辑。
ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR 154: 推流服务器出现错误。请调用 AddPublishStreamUrl 重新推流
ERR_PUBLISH_STREAM_NOT_FOUND 155: 服务器无法找到数据流。
ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED 156: 推流地址格式有错误。请检查推流地址格式是否正确
ERR_LOAD_MEDIA_ENGINE 1001: 加载媒体引擎失败。
ERR_START_CALL 1002: 启动媒体引擎开始通话失败。请尝试重新进入频道。
ERR_START_CAMERA DEPRECATED 1003: 从 v2.4.1 起废弃。请改用 OnConnectionStateChangedHandler 回调中的 LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE(4)。启动摄像头失败,请检查摄像头是否被其他应用占用,或者尝试重新进入频道。
ERR_START_VIDEO_RENDER 1004: 启动视频渲染模块失败。
ERR_ADM_GENERAL_ERROR 1005: 音频设备模块:音频设备出现错误(未明确指明为何种错误)。请检查音频设备是否被其他应用占用,或者尝试重新进入频道。
ERR_ADM_JAVA_RESOURCE 1006: 音频设备模块:使用 Java 资源出现错误。
ERR_ADM_SAMPLE_RATE 1007: 音频设备模块:设置的采样频率出现错误。
ERR_ADM_INIT_PLAYOUT 1008: 音频设备模块:初始化播放设备出现错误。请检查播放设备是否被其他应用占用,或者尝试重新进入频道。
ERR_ADM_START_PLAYOUT 1009: 音频设备模块:启动播放设备出现错误。请检查播放设备是否正常,或者尝试重新进入频道。
ERR_ADM_STOP_PLAYOUT 1010: 音频设备模块:停止播放设备出现错误。
ERR_ADM_INIT_RECORDING 1011: 音频设备模块:初始化录音设备时出现错误。请检查录音设备是否正常,或者尝试重新进入频道。
ERR_ADM_START_RECORDING 1012: 音频设备模块:启动录音设备出现错误。请检查录音设备是否正常,或者尝试重新进入频道。
ERR_ADM_STOP_RECORDING 1013: 音频设备模块:停止录音设备出现错误。
ERR_ADM_RUNTIME_PLAYOUT_ERROR 1015: 音频设备模块:运行时播放出现错误。请检查播放设备是否正常,或者尝试重新进入频道。
ERR_ADM_RUNTIME_RECORDING_ERROR 1017: 音频设备模块:运行时录音错误。请检查录音设备是否正常,或者尝试重新进入频道。
ERR_ADM_RECORD_AUDIO_FAILED 1018: 音频设备模块:录音失败。
ERR_ADM_INIT_LOOPBACK 1022: 音频设备模块:初始化 Loopback 设备错误。
ERR_ADM_START_LOOPBACK 1023: 音频设备模块:启动 Loopback 设备错误。
ERR_ADM_NO_PERMISSION 1027: 音频设备模块:没有录音权限。请检查是否已经打开权限允许录音。
ERR_ADM_RECORD_AUDIO_IS_ACTIVE 1033: 音频设备模块:录制设备被占用。
ERR_ADM_ANDROID_JNI_JAVA_RESOURCE 1101: 音频设备模块:严重异常
ERR_ADM_ANDROID_JNI_NO_RECORD_FREQUENCY 1108: 音频设备模块:录制频率低于 50,常见为 0,即采集未启动,建议检查录音权限。
ERR_ADM_ANDROID_JNI_NO_PLAYBACK_FREQUENCY 1109: 音频设备模块:播放频率低于 50,常见为 0,即播放未启动,建议检查是否 AudioTrack 实例过多。
ERR_ADM_ANDROID_JNI_JAVA_START_RECORD 1111: 音频设备模块:AudioRecord 启动失败,系统 ROM 报错,建议重启 app 或重启手机、检查录音权限。
ERR_ADM_ANDROID_JNI_JAVA_START_PLAYBACK 1112: 音频设备模块:AudioTrack 启动失败,系统 ROM 报错,建议重启 app 或重启手机、检查播放权限。
ERR_ADM_ANDROID_JNI_JAVA_RECORD_ERROR 1115: 音频设备模块:AudioRecord 数据返回错误、SDK 会自动处理、重启 AudioRecord。
ERR_ADM_ANDROID_OPENSL_CREATE_ENGINE DEPRECATED
ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_RECORDER DEPRECATED
ERR_ADM_ANDROID_OPENSL_START_RECORDER_THREAD DEPRECATED
ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_PLAYER DEPRECATED
ERR_ADM_ANDROID_OPENSL_START_PLAYER_THREAD DEPRECATED
ERR_ADM_IOS_INPUT_NOT_AVAILABLE 1201: 音频设备模块:当前设备不支持音频输入,可能的原因是 Audio Session 的 category 配置不对或音频输入设备被占用。建议把后台所有 app 杀掉,重新加入频道。
ERR_ADM_IOS_ACTIVATE_SESSION_FAIL 1206: 音频设备模块:Audio Session 无法被启动。
ERR_ADM_IOS_VPIO_INIT_FAIL 1210: 音频设备模块:初始化音频设备出错。一般出错是因为音频设备的设置参数错误。
ERR_ADM_IOS_VPIO_REINIT_FAIL 1213: 音频设备模块:重新初始化音频设备出错。一般出错是因为音频设备的设置参数错误。
ERR_ADM_IOS_VPIO_RESTART_FAIL 1214: 音频设备模块:重新启动 Audio Unit 出错。一般出错是因为 Audio Session 的 category 设置与 Audio Unit 的设置不兼容。
ERR_ADM_IOS_SESSION_SAMPLERATR_ZERO DEPRECATED
ERR_ADM_WIN_CORE_INIT 1301: 音频设备模块:音频驱动异常或者兼容性问题 解决方案:禁用并重新启用音频设备,或者重启机器。
ERR_ADM_WIN_CORE_INIT_RECORDING 1303: 音频设备模块:音频驱动异常或者兼容性问题 解决方案:禁用并重新启用音频设备,或者重启机器。
ERR_ADM_WIN_CORE_INIT_PLAYOUT 1306: 音频设备模块:音频驱动异常或者兼容性问题 解决方案:禁用并重新启用音频设备,或者重启机器。
ERR_ADM_WIN_CORE_INIT_PLAYOUT_NULL 1307: 音频设备模块:无可用音频设备 解决方案:插入音频设备。
ERR_ADM_WIN_CORE_START_RECORDING 1309: 音频设备模块:音频驱动异常或者兼容性问题 解决方案:禁用并重新启用音频设备,或者重启机器。
ERR_ADM_WIN_CORE_CREATE_REC_THREAD 1311: 音频设备模块:系统内存不足或者机器性能较差 解决方案:重启机器或者更换机器。
ERR_ADM_WIN_CORE_CAPTURE_NOT_STARTUP 1314: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_CORE_CREATE_RENDER_THREAD 1319: 音频设备模块:系统内存不足或者机器性能较差 解决方案:重启机器或者更换机器。
ERR_ADM_WIN_CORE_RENDER_NOT_STARTUP 1320: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_CORE_NO_RECORDING_DEVICE 1322: 音频设备模块:无可用音频采集设备。解决方案:插入音频设备。
ERR_ADM_WIN_CORE_NO_PLAYOUT_DEVICE 1323: 音频设备模块:无可用音频播放设备。解决方案:插入音频设备
ERR_ADM_WIN_WAVE_INIT 1351: 音频设备模块:音频驱动异常或者兼容性问题 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_WAVE_INIT_RECORDING 1353: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_WAVE_INIT_MICROPHONE 1354: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_WAVE_INIT_PLAYOUT 1355: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_WAVE_INIT_SPEAKER 1356: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_WAVE_START_RECORDING 1357: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_WIN_WAVE_START_PLAYOUT 1358: 音频设备模块:音频驱动异常 解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。
ERR_ADM_NO_RECORDING_DEVICE 1359: 音频设备模块:无录制设备。请检查是否有可用的录放音设备或者录放音设备是否已经被其他应用占用。
ERR_ADM_NO_PLAYOUT_DEVICE 1360: 音频设备模块:无播放设备。
ERR_VDM_CAMERA_NOT_AUTHORIZED 1501: 视频设备模块:没有摄像头使用权限。请检查是否已经打开摄像头权限。
ERR_VDM_WIN_DEVICE_IN_USE DEPRECATED 1502: 视频设备模块:摄像头正在使用中。从 v2.4.1 起废弃。请改用 OnConnectionStateChangedHandler 回调中的 LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY(3)
ERR_VCM_UNKNOWN_ERROR 1600: 视频设备模块:未知错误。
ERR_VCM_ENCODER_INIT_ERROR 1601: 视频设备模块:视频编码器初始化错误。该错误为严重错误,请尝试重新加入频道。
ERR_VCM_ENCODER_ENCODE_ERROR 1602: 视频设备模块:视频编码器错误。该错误为严重错误,请尝试重新加入频道。
ERR_VCM_ENCODER_SET_ERROR 1603: 视频设备模块:视频编码器设置错误。