Classes
Events
-
onAddLiveStreamTask
-
通知添加直播任务结果。
该回调异步返回 NERtcEngine#addLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务id url
String 推流地址 error
number 结果 -
onAudioDefaultDeviceChanged
-
音频默认设备更改回调。
Parameters:
Name Type Description device_id
string 设备ID。 device_type
number 音频设备类型: - 0 未知音频设备 - 1 音频采集设备 - 2 音频播放设备
-
onAudioDeviceStateChanged
-
音频设备状态更改回调。
Parameters:
Name Type Description device_id
string 设备ID。 device_type
number 音频设备类型: - 0 未知音频设备 - 1 音频采集设备 - 2 音频播放设备
device_state
number 音频设备状态: - 0 音频设备已激活 - 1 音频设备未激活
-
onAudioEffectFinished
-
本地音效文件播放已结束回调。
当播放音效结束后,会触发该回调。
Parameters:
Name Type Description effect_id
number 音效ID -
onAudioHowling
-
监测音频啸叫的回调。
Parameters:
Name Type Description howling
boolean 是否出现啸叫 -
onAudioMixingStateChanged
-
本地用户的音乐文件播放状态改变回调。
调用 NERtcEngine#startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。 - 如果播放音乐文件正常结束,state 会返回相应的状态码 0,error_code 返回 0。 - 如果播放出错,则返回状态码 1,error_code 返回相应的出错原因。 - 如果本地音乐文件不存在、文件格式不支持、无法访问在线音乐文件 URL,error_code都会返回 100。
Parameters:
Name Type Description state
number 音乐文件播放状态: - 0 音乐文件播放结束。 - 1 音乐文件报错。
error_code
number 错误码: - 0 没有错误。 - 1 通用错误。 - 100 音乐文件打开出错。
-
onAudioMixingTimestampUpdate
-
本地用户的音乐文件播放进度回调
调用 NERtcEngine#startAudioMixing 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。
Parameters:
Name Type Description timestamp_ms
number 音乐文件播放进度,单位为毫秒。 -
onAudioRecording
-
音频录制状态回调。
Parameters:
Name Type Description code
音频录制状态码。详细信息请参考 NERtcAudioRecordingCode。 file_path
音频录制文件保存路径。 -
onClientRoleChanged
-
参会者角色类型变更回调。
本地用户加入房间后,通过 NERtcEngine#setClientRole 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。 NOTE: 直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调: - 主播切观众,本端触发onClientRoleChanged回调,远端触发 onUserLeft 回调。 - 观众切主播,本端触发onClientRoleChanged回调,远端触发 onUserJoined 回调。
Parameters:
Name Type Description oldRole
number 原角色类型。 - 0 主播 - 1 观众
newRole
number 新角色类型。 - 0 主播 - 1 观众
-
onConnectionStateChange
-
连接状态变更。
有时候由于通话流程、用户行为、网络原因等,客户端通话状态变更,触发此回调。
Parameters:
Name Type Description state
number 变更后通话状态: - 1 没加入频道 - 2 正在加入频道 - 3 加入频道成功 - 4 正在尝试重新加入频道 - 5 加入频道失败
reason
number 变更原因: - 1 离开房间 - 2 房间被关闭 - 3 用户被踢 - 4 服务超时 - 5 加入房间 - 6 加入房间成功 - 7 重新加入房间成功(重连) - 8 媒体连接断开 - 9 信令连接断开 - 10 请求频道失败 - 11 加入频道失败
-
onDisconnect
-
掉线回调。
由于非网络原因,客户端可能会和服务器失去连接,此时SDK无需自动重连,直接触发此回调方法。
Parameters:
Name Type Description result
NERtcErrorCode 错误码 -
onError
-
发生错误回调。
Parameters:
Name Type Description errorCode
NERtcErrorCode 错误码 msg
string 错误描述 -
onFirstAudioDataReceived
-
已接收到远端音频首帧回调。
Parameters:
Name Type Description uid
number 发送音频帧的远端用户的用户 ID。 -
onFirstAudioFrameDecoded
-
已解码远端音频首帧的回调。
Parameters:
Name Type Description uid
number 远端用户 ID。 -
onFirstVideoDataReceived
-
已显示首帧远端视频回调。
第一帧远端视频显示在视图上时,触发此调用。
Parameters:
Name Type Description uid
number 用户 ID,指定是哪个用户的视频流。 -
onFirstVideoFrameDecoded
-
已显示首帧远端视频回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的 video canvas。
Parameters:
Name Type Description uid
number 用户 ID,指定是哪个用户的视频流。 width
number 视频流宽(px)。 height
number 视频流高(px)。 -
onJoinChannel
-
加入频道回调
Parameters:
Name Type Description cid
number 频道 ID uid
number 用户 ID result
NERtcErrorCode 错误码 elapsed
number 从 joinChannel 开始到发生此事件过去的时间(毫秒) -
onLeaveChannel
-
离开频道回调。 App 调用 NERtcEngine#leaveChannel 方法时,SDK提示 App 离开频道是否成功。
Parameters:
Name Type Description result
NERtcErrorCode 错误码 -
onLiveStreamState
-
通知直播推流状态
Parameters:
Name Type Description task_id
string 任务id url
string 推流地址 state
number 直播推流状态: - 505: 推流中; - 506: 推流失败; - 511: 推流结束;
-
onLocalAudioStats
-
本地音频流统计信息回调。
该回调描述本地设备发送音频流的统计信息,每 2 秒触发一次。
Parameters:
Name Type Description stats
object 本地音频流统计信息: Properties
Name Type Description num_channels
number 当前采集声道数。 sent_sample_rate
number 本地上行音频采样率。 sent_bitrate
number (上次统计后)发送码率(Kbps)。 audio_loss_rate
number 特定时间内的音频丢包率 (%)。 rtt
number RTT。 volume
number 音量,范围为 0(最低)- 100(最高)。 -
onLocalAudioVolumeIndication
-
提示频道内本地用户瞬时音量的回调。
该回调默认禁用。可以通过 NERtcEngine#enableAudioVolumeIndication 方法开启; 开启后,本地用户说话,SDK 会按 NERtcEngine#enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音(调用了 NERtcEngine#muteLocalAudioStream),SDK 将音量设置为 0 后回调给应用层。
Parameters:
Name Type Description volume
number (混音后的)音量,取值范围为 [0,100]。 -
onLocalPublishFallbackToAudioOnly
-
本地发布流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 #kNERtcStreamFallbackAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。Parameters:
Name Type Description is_fallback
boolean 本地发布流已回退或已恢复。 - true: 由于网络环境不理想,发布的媒体流已回退为音频流。 - false:由于网络环境改善,从音频流恢复为音视频流。
stream_type
对应的视频流类型,即主流或辅流。 - 0 主流 - 1 辅流
-
onLocalVideoStats
-
本地视频流统计信息回调。
该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。
Parameters:
Name Type Description stats
object 本地视频流统计信息: Properties
Name Type Description video_layers_count
number 视频流条数。 video_layers_list
Array.<object> 视频流信息数组: video_layers_list[].layer_type
number 流类型: 1、主流,2、辅流。 video_layers_list[].width
number 视频流宽(像素) video_layers_list[].height
number 视频流高(像素) video_layers_list[].capture_frame_rate
number 视频采集帧率。 video_layers_list[].render_frame_rate
number 视频渲染帧率。 video_layers_list[].encoder_frame_rate
number 编码帧率。 video_layers_list[].sent_frame_rate
number 发送帧率。 video_layers_list[].sent_bitrate
number 发送码率(Kbps)。 video_layers_list[].target_bitrate
number 编码器目标码率(Kbps)。 video_layers_list[].encoder_bitrate
number 编码器实际编码码率(Kbps)。 video_layers_list[].codec_name
String 视频编码器名字。 -
onMediaRelayEvent
-
媒体流相关转发事件回调。
Parameters:
Name Type Description event
number 当前媒体流转发事件。详细信息请参考 #NERtcChannelMediaRelayEvent 。 - 0 媒体流转发停止。 - 1 正在连接服务器,开始尝试转发媒体流。 - 2 连接服务器成功。 - 3 视频音频媒体流成功转发到目标房间。 - 4 音频媒体流成功转发到目标房间。 - 5 媒体流屏幕共享等其他流成功转发到目标房间。 - 100 媒体流转发失败。原因包括: - 414 请求参数错误。 - 30110 重复调用 startChannelMediaRelay。 - 30111 媒体流转发权限不足。例如调用 startChannelMediaRelay 的房间成员为主播角色、或房间为双人通话房间,不支持转发媒体流。 - 30112 调用 stopChannelMediaRelay 前,未调用 startChannelMediaRelay。
channel_name
转发的目标房间名。 error
相关错误码。详细信息请参考 #NERtcErrorCode 。 -
onMediaRelayStateChanged
-
跨房间媒体流转发状态发生改变回调。
Parameters:
Name Type Description state
number 当前跨房间媒体流转发状态。 - 0 初始状态。在成功调用 stopChannelMediaRelay 停止跨房间媒体流转发后, onMediaRelayStateChanged 会回调该状态。 - 1 尝试跨房间转发媒体流。 - 2 源房间主播角色成功加入目标房间。 - 3 发生异常,详见 onMediaRelayEvent 的 error 中提示的错误信息。
channel_name
媒体流转发的目标房间名。 -
onNetworkQuality
-
通话中每个用户的网络上下行质量报告回调。
该回调描述每个用户在通话中的网络状态,每 2 秒触发一次,只上报状态有变更的成员。
Parameters:
Name Type Description uc
number 数组的大小,即用户数。 stats
object 每个用户 ID 和网络上下行质量信息的数组: stats[].uid
number 用户 ID,指定是哪个用户的视频流。 stats[].tx_quality
number 该用户的上行网络质量: - 0 网络质量未知 - 1 网络质量极好 - 2 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent - 3 用户主观感受有瑕疵但不影响沟通 - 4 勉强能沟通但不顺畅 - 5 网络质量非常差,基本不能沟通 - 6 完全无法沟通
stats[].rx_quality
number 该用户的下行网络质量: - 0 网络质量未知 - 1 网络质量极好 - 2 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent - 3 用户主观感受有瑕疵但不影响沟通 - 4 勉强能沟通但不顺畅 - 5 网络质量非常差,基本不能沟通 - 6 完全无法沟通
-
onReconnectingStart
-
触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,开始自动重连后触发此回调。
Parameters:
Name Type Description cid
频道 ID。 uid
用户 ID。 -
onRecvSEIMsg
-
监听 SEI 数据回调
Parameters:
Name Type Description uid
number 发送该 sei 的用户 id data
ArrayBuffer 接收到的 sei 数据 - Since:
-
- 4.1.110
-
onRejoinChannel
-
重新加入频道回调。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,自动重连后触发此回调方法。
Parameters:
Name Type Description cid
number 频道 ID uid
number 用户 ID result
NERtcErrorCode 错误码 elapsed
number 从 joinChannel 开始到发生此事件过去的时间(毫秒) -
onReleasedHwResources
-
释放硬件资源的回调。
Parameters:
Name Type Description result
NERtcErrorCode 错误码 -
onRemoteAudioStats
-
通话中远端音频流的统计信息回调。
该回调描述远端用户在通话中端到端的音频流统计信息,每 2 秒触发一次。
Parameters:
Name Type Description uc
number stats 数组的大小 stats
Array.<object> 每个远端用户音频统计信息的数组: stats[].uid
number 用户 ID,指定是哪个用户的音频流 stats[].received_bitrate
number (上次统计后)接收到的码率(Kbps) stats[].total_frozen_time
number 用户的下行音频卡顿累计时长(ms) stats[].frozen_rate
number 用户的下行音频平均卡顿率(%)。 stats[].audio_loss_rate
number 特定时间内的音频丢包率 (%)。 stats[].volume
number 音量,范围为 0(最低)- 100(最高)。 -
onRemoteSubscribeFallbackToAudioOnly
-
订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果你调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 #kNERtcStreamFallbackAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。
Parameters:
Name Type Description uid
number 远端用户的 ID。 is_fallback
boolean 远端订阅流已回退或恢复: - true: 由于网络环境不理想,发布的媒体流已回退为音频流。 - false:由于网络环境改善,从音频流恢复为音视频流。
stream_type
对应的视频流类型,即主流或辅流。 - 0 主流 - 1 辅流
-
onRemoteVideoStats
-
通话中远端视频流的统计信息回调。
该回调描述远端用户在通话中端到端的视频流统计信息,每 2 秒触发一次。
Parameters:
Name Type Description uc
number stats 数组的大小。 stats
object 每个远端用户视频统计信息的数组: Properties
Name Type Description uid
number 用户 ID,指定是哪个用户的视频流。 video_layers_count
number 视频流条数。 video_layers_list
Array.<object> 视频流信息数组: video_layers_list[].layer_type
number 流类型: 1、主流,2、辅流。 video_layers_list[].width
number 视频流宽(像素)。 video_layers_list[].height
number 视频流高(像素)。 video_layers_list[].received_frame_rate
number 接收到的帧率 (fps)。 video_layers_list[].render_frame_rate
number 视频渲染帧率。 video_layers_list[].decoder_frame_rate
number 视频解码帧率(fps)。 video_layers_list[].frozen_rate
number 用户的下行视频平均卡顿率(%)。 video_layers_list[].packet_loss_rate
number 下行丢包率(%)。 video_layers_list[].received_bitrate
number 接收到的码率(Kbps)。 video_layers_list[].total_frozen_time
number 用户的下行视频卡顿累计时长(ms)。 video_layers_list[].codec_name
String 视频编码器名字。 -
onRemoveLiveStreamTask
-
通知删除直播任务结果。
该回调异步返回 NERtcEngine#removeLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务id error
number 结果 -
onRtcStats
-
当前通话统计回调。
SDK 定期向 App 报告当前通话的统计信息,每 2 秒触发一次。
Parameters:
Name Type Description stats
object NERTC 引擎统计数据: Properties
Name Type Description cpu_app_usage
number 当前 App 的 CPU 使用率 (%)。 cpu_idle_usage
number 当前系统的 CPU 空闲率 (%)。 cpu_total_usage
number 当前系统的 CPU 使用率 (%)。 memory_app_usage
number 当前App的内存使用率 (%)。 memory_total_usage
number 当前系统的内存使用率 (%)。 memory_app_kbytes
number 当前App的内存使用量 (KB)。 total_duration
number 通话时长(秒)。 tx_bytes
number 发送字节数,累计值。(bytes) rx_bytes
number 接收字节数,累计值。(bytes) tx_audio_bytes
number 音频发送字节数,累计值。(bytes) tx_video_bytes
number 视频发送字节数,累计值。(bytes) rx_audio_bytes
number 音频接收字节数,累计值。(bytes) rx_video_bytes
number 视频接收字节数,累计值。(bytes) tx_audio_kbitrate
number 音频发送码率。(kbps) rx_audio_kbitrate
number 音频接收码率。(kbps) tx_video_kbitrate
number 视频发送码率。(kbps) rx_video_kbitrate
number 视频接收码率。(kbps) up_rtt
number 上行平均往返时延rtt(ms) down_rtt
number 下行平均往返时延rtt(ms) tx_audio_packet_loss_rate
number 本地上行音频实际丢包率。(%) tx_video_packet_loss_rate
number 本地上行视频实际丢包率。(%) tx_audio_packet_loss_sum
number 本地上行音频实际丢包数。 tx_video_packet_loss_sum
number 本地上行视频实际丢包数。 tx_audio_jitter
number 本地上行音频抖动计算。(ms) tx_video_jitter
number 本地上行视频抖动计算。(ms) rx_audio_packet_loss_rate
number 本地下行音频实际丢包率。(%) rx_video_packet_loss_rate
number 本地下行视频实际丢包率。(%) rx_audio_packet_loss_sum
number 本地下行音频实际丢包数。 rx_video_packet_loss_sum
number 本地下行视频实际丢包数。 rx_audio_jitter
number 本地下行音频抖动计算。(ms) rx_video_jitter
number 本地下行视频抖动计算。(ms) -
onScreenCaptureStatus
-
屏幕共享暂停/恢复/开始/结束等回调
Parameters:
Name Type Description status
number 屏幕共享状态。 - 1 开始屏幕共享。 - 2 暂停屏幕共享。 - 3 恢复屏幕共享。 - 4 停止屏幕共享。 - 5 屏幕分享的目标窗口被覆盖。
-
onUpdateLiveStreamTask
-
通知更新直播任务结果。
该回调异步返回 NERtcEngine#updateLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState 事件
Parameters:
Name Type Description task_id
String 任务id url
String 推流地址 error
number 结果 -
onUserAudioMute
-
远端用户是否静音回调。
Parameters:
Name Type Description uid
number 远端用户ID。 mute
boolean 是否静音。 -
onUserAudioStart
-
远端用户开启音频回调。
Parameters:
Name Type Description uid
number 远端用户ID。 -
onUserAudioStop
-
远端用户停用音频回调。
Parameters:
Name Type Description uid
number 远端用户ID。 -
onUserJoined
-
远端用户加入当前频道回调。
- 通信模式下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
Parameters:
Name Type Description uid
number 新加入频道的远端用户ID。 userName
string 新加入频道的远端用户名(无效)。 -
onUserLeft
-
远端用户离开当前频道回调。
提示有远端用户离开了频道(或掉线)。
Parameters:
Name Type Description uid
number 远端用户ID。 reason
number 远端用户离开原因: - 0 正常离开 - 1 用户断线导致离开 - 2 用户 Failover 过程中产生的 leave - 3 用户被踢导致离开 - 4 用户超时导致离开
-
onUserSubStreamVideoStart
-
远端用户开启辅流视频回调。
Parameters:
Name Type Description uid
number 远端用户ID。 maxProfile
number 最大分辨率: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps
-
onUserSubStreamVideoStop
-
远端用户停用辅流视频回调。
Parameters:
Name Type Description uid
number 远端用户ID。 -
onUserVideoMute
-
远端用户是否禁视频流回调。
Parameters:
Name Type Description uid
number 远端用户ID。 mute
boolean 是否禁视频流。 -
onUserVideoProfileUpdate
-
远端用户视频配置更新回调。
Parameters:
Name Type Description uid
number 远端用户ID。 maxProfile
number 最大分辨率: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps
-
onUserVideoStart
-
远端用户开启视频回调。
Parameters:
Name Type Description uid
number 远端用户ID。 maxProfile
number 最大分辨率: - 0 160x90/120, 15fps - 1 320x180/240, 15fps - 2 640x360/480, 30fps - 3 1280x720, 30fps - 4 1920x1080, 30fps - 5 none - 6 FakeVideo 标识,仅在回调中显示。请勿主动设置,否则 SDK 会按照STANDARD处理。
-
onUserVideoStop
-
远端用户停用视频回调。
Parameters:
Name Type Description uid
number 远端用户ID。 -
onVideoDeviceStateChanged
-
视频设备状态更改回调。
Parameters:
Name Type Description device_id
string 设备ID。 device_type
number 视频设备类型: - 0 未知音频设备 - 1 视频采集设备
device_state
number 视频设备状态: - 0 视频设备已添加 - 1 视频设备已拔除
-
onWarning
-
发生警告回调。
Parameters:
Name Type Description warnCode
NERtcErrorCode 错误码 msg
string 错误描述