NERtc Android SDK  V4.6.420
Public 成员函数 | 所有成员列表
com.netease.lava.nertc.sdk.AbsNERtcCallbackEx类 参考abstract
类 com.netease.lava.nertc.sdk.AbsNERtcCallbackEx 继承关系图:
com.netease.lava.nertc.sdk.NERtcCallbackEx com.netease.lava.nertc.sdk.NERtcCallback

Public 成员函数

abstract void onJoinChannel (int result, long channelId, long elapsed, long uid)
 
abstract void onLeaveChannel (int result)
 
abstract void onUserJoined (long uid)
 
abstract void onUserLeave (long uid, int reason)
 
abstract void onUserAudioStart (long uid)
 
abstract void onUserAudioStop (long uid)
 
abstract void onUserVideoStart (long uid, int maxProfile)
 
abstract void onUserVideoStop (long uid)
 
abstract void onDisconnect (int reason)
 
abstract void onError (int code)
 
void onClientRoleChange (int oldRole, int newRole)
 
void onUserSubStreamVideoStart (long uid, int maxProfile)
 
void onUserSubStreamVideoStop (long uid)
 
void onUserAudioMute (long uid, boolean muted)
 
void onUserVideoMute (long uid, boolean muted)
 
void onUserVideoMute (NERtcVideoStreamType streamType, long uid, boolean muted)
 
void onFirstAudioDataReceived (long uid)
 
void onFirstVideoDataReceived (long uid)
 
void onFirstVideoDataReceived (NERtcVideoStreamType streamType, long uid)
 
void onFirstAudioFrameDecoded (long userID)
 
void onFirstVideoFrameDecoded (long userID, int width, int height)
 
void onFirstVideoFrameDecoded (NERtcVideoStreamType streamType, long userID, int width, int height)
 
void onUserVideoProfileUpdate (long uid, int maxProfile)
 
void onAudioDeviceChanged (final int selected)
 
void onAudioDeviceStateChange (int deviceType, int deviceState)
 
void onVideoDeviceStageChange (int deviceState)
 
void onConnectionTypeChanged (int newConnectionType)
 
void onReconnectingStart ()
 
void onReJoinChannel (int result, long channelId)
 
void onAudioMixingStateChanged (int reason)
 
void onAudioMixingTimestampUpdate (long timestampMs)
 
void onAudioEffectFinished (int effectId)
 
void onLocalAudioVolumeIndication (int volume)
 
void onRemoteAudioVolumeIndication (NERtcAudioVolumeInfo[] volumeArray, int totalVolume)
 
void onLiveStreamState (String taskId, String pushUrl, int liveState)
 
void onConnectionStateChanged (int state, int reason)
 
void onCameraFocusChanged (Rect rect)
 
void onCameraExposureChanged (Rect rect)
 
void onRecvSEIMsg (long userID, String seiMsg)
 
void onAudioRecording (int code, String filePath)
 
void onWarning (int code)
 
void onMediaRelayStatesChange (int state, String channelName)
 
void onMediaRelayReceiveEvent (int event, int code, String channelName)
 
void onLocalPublishFallbackToAudioOnly (boolean isFallback, NERtcVideoStreamType streamType)
 
void onRemoteSubscribeFallbackToAudioOnly (long uid, boolean isFallback, NERtcVideoStreamType streamType)
 
void onLastmileQuality (int quality)
 
void onLastmileProbeResult (LastmileProbeResult result)
 
void onUserJoined (long uid, NERtcUserJoinExtraInfo joinExtraInfo)
 
void onUserLeave (long uid, int reason, NERtcUserLeaveExtraInfo leaveExtraInfo)
 
void onAudioEffectTimestampUpdate (long id, long timestampMs)
 
void onLocalAudioVolumeIndication (int volume, boolean vadFlag)
 
void onMediaRightChange (boolean isAudioBannedByServer, boolean isVideoBannedByServer)
 
void onVirtualBackgroundSourceEnabled (boolean enabled, int reason)
 
void onUserSubStreamAudioStart (long uid)
 
void onUserSubStreamAudioStop (long uid)
 
void onUserSubStreamAudioMute (long uid, boolean muted)
 
void onPermissionKeyWillExpire ()
 
void onUpdatePermissionKey (String key, int error, int timeout)
 
void onLocalVideoWatermarkState (NERtcVideoStreamType videoStreamType, int state)
 
- Public 成员函数 继承自 com.netease.lava.nertc.sdk.NERtcCallbackEx
default void onStartPushStreaming (int result, long channelId)
 
default void onStopPushStreaming (int result)
 
default void onPushStreamingReconnecting (int reason)
 
default void onPushStreamingReconnectedSuccess ()
 

详细描述

NERtcCallbackEx 的简单实现。

成员函数说明

◆ onAudioDeviceChanged()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioDeviceChanged ( final int  selected)

语音播放设备已改变回调。

参数
selected选择的设备,详细信息请参考 NERtcConstants.AudioDevice

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onAudioDeviceStateChange()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioDeviceStateChange ( int  deviceType,
int  deviceState 
)

音频设备状态已改变回调。

参数
deviceType设备类型。详细信息请参考 NERtcConstants.AudioDeviceType
deviceState设备状态。详细信息请参考 NERtcConstants.AudioDeviceState

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onAudioEffectFinished()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioEffectFinished ( int  effectId)

本地音效文件播放已结束回调。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onAudioEffectTimestampUpdate()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioEffectTimestampUpdate ( long  id,
long  timestampMs 
)

本地用户的指定音效文件播放进度回调。

  • 调用 NERtcEx#playEffect() 方法播放音效文件后,SDK 会触发该回调,默认每 1s 返回一次。
    自从
    V4.6.29
    使用前提
    请在 NERtcCallbackEx 接口类中通过 NERtc#init() 接口设置回调监听。
    参数说明
    参数名称 类型 描述
    id long 指定音效文件的 ID。每个音效均有唯一的 ID。
    timestampMs long 指定音效文件的当前播放进度。单位为毫秒。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onAudioMixingStateChanged()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioMixingStateChanged ( int  reason)

本地用户的音乐文件播放状态改变回调。
调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。

参数
reasonNERtcConstants.AudioMixingError#AUDIO_MIXING_FINISH 表示正常结束;其他状态码表示播放失败,详细信息请参考 NERtcConstants.AudioMixingError

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onAudioMixingTimestampUpdate()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioMixingTimestampUpdate ( long  timestampMs)

本地用户的音乐文件播放进度回调。
调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。

参数
timestampMs音乐文件播放进度,单位为毫秒。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onAudioRecording()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onAudioRecording ( int  code,
String  filePath 
)

音频录制状态回调。

参数
code音频录制状态码。详细信息请参考 NERtcConstants.AudioRecordingCode
filePath音频录制文件保存路径。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onCameraExposureChanged()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onCameraExposureChanged ( Rect  rect)

摄像头曝光区域已改变回调。
该回调是由本地用户调用 setCameraExposurePosition 方法改变曝光位置触发的。

参数
rect新的曝光区域位置。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onCameraFocusChanged()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onCameraFocusChanged ( Rect  rect)

摄像头对焦区域已改变回调。
该回调表示相机的对焦区域发生了改变。
该回调是由本地用户调用 setCameraFocusPosition 方法改变对焦位置触发的。

参数
rect新的对焦区域位置。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onClientRoleChange()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onClientRoleChange ( int  oldRole,
int  newRole 
)

直播场景下用户角色已切换回调。
用户加入房间后,通过 NERtcEx#setClientRole(int role) 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。
注意
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onConnectionStateChanged()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onConnectionStateChanged ( int  state,
int  reason 
)

     *     *     * 房间连接状态已改变回调。      *
该回调在房间连接状态发生改变的时候触发,并告知用户当前的房间连接状态和引起房间状态改变的原因。      *

参数
state当前的房间连接状态。详细信息请参考 NERtcConstants.ConnectionState。      *
reason引起当前房间连接状态发生改变的原因。详细信息请参考 NERtcConstants.ConnectionStateChangeReason。      *      

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onConnectionTypeChanged()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onConnectionTypeChanged ( int  newConnectionType)

本地网络类型已改变回调。
本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中声明当前正在使用的网络连接类型。

参数
newConnectionType当前的本地网络类型,详细信息请参考 NERtcConstants.ConnectionType

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onDisconnect()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onDisconnect ( int  reason)
abstract

网络连接中断,且 SDK 连续 3 次重连服务器失败。
注意

  • SDK 在调用 joinChannel 加入房间成功后,如果和服务器失去连接且连续 3 次重连失败,就会触发该回调。
  • 如果 SDK 在断开连接后,连续 3 次重连失败,SDK 会停止尝试重连。
    参数
    reason网络连接中断原因。详细信息请查看 NERtcConstants.ErrorCode

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onError()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onError ( int  code)
abstract

发生错误回调。
该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。
通常情况下,SDK上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

参数
codeNERtcConstants.RuntimeError

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onFirstAudioDataReceived()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onFirstAudioDataReceived ( long  uid)

已接收到远端音频首帧回调。

参数
uid远端用户 ID,指定是哪个用户的音频流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onFirstAudioFrameDecoded()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onFirstAudioFrameDecoded ( long  userID)

已解码远端音频首帧的回调。

参数
userID远端用户 ID,指定是哪个用户的音频流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onFirstVideoDataReceived() [1/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onFirstVideoDataReceived ( long  uid)

已显示远端视频首帧的回调。
第一帧远端视频显示在视图上时,触发此回调。

注解
该回调仅在显示远端用户的主流视频首帧时会触发,若您希望同时接收到接收辅流的相关通知,请监听 AbsNERtcCallbackEx#onFirstVideoDataReceived(NERtcVideoStreamType streamType, long uid) 回调。
参数
uid远端用户 ID,指定是哪个用户的视频流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onFirstVideoDataReceived() [2/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onFirstVideoDataReceived ( NERtcVideoStreamType  streamType,
long  uid 
)

已显示远端视频首帧的回调。
当远端视频的第一帧画面显示在视窗上时,会触发此回调。

自从
V4.6.20
参数说明
参数名称 类型 描述
type video.NERtcVideoStreamType 视频通道类型:
  • kNERTCVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
uid long 用户 ID,提示是哪个用户的视频流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onFirstVideoFrameDecoded() [1/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onFirstVideoFrameDecoded ( long  userID,
int  width,
int  height 
)

已显示首帧远端视频回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的视频画布。

注解
该回调仅在接收远端用户的主流视频首帧并完成解码时会触发,若您希望同时接收到接收辅流的相关通知,请监听 AbsNERtcCallbackEx#onFirstVideoFrameDecoded(NERtcVideoStreamType streamType, long userID, int width, int height) 回调。
参数
userID远端用户 ID,指定是哪个用户的视频流。
width首帧视频宽,单位为 px。
height首帧视频高,单位为 px。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onFirstVideoFrameDecoded() [2/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onFirstVideoFrameDecoded ( NERtcVideoStreamType  streamType,
long  userID,
int  width,
int  height 
)

已接收到远端视频首帧并完成解码的回调。
当 SDK 收到远端视频的第一帧并解码成功时,会触发该回调。应用层可在该回调中设置此用户的视频画布。

自从
V4.6.20
参数说明
参数名称 类型 描述
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERTCVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
userID long 用户 ID,提示是哪个用户的视频流。
width int 首帧视频的宽度,单位为 px。
height int 首帧视频的高度,单位为 px。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onJoinChannel()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onJoinChannel ( int  result,
long  channelId,
long  elapsed,
long  uid 
)
abstract

加入房间回调,表示客户端已经登入服务器。

参数
result0 表示加入房间成功;其他值表示加入房间失败,详细错误码请参考 NERtcConstants.ErrorCode
channelId客户端加入的房间 ID。
elapsed从 joinChannel 开始到发生此事件过去的时间,单位为毫秒。
uid用户 ID。如果在 joinChannel 方法中指定了 uid,此处会返回指定的 ID; 如果未指定 uid(joinChannel 时uid=0),此处将返回云信服务器自动分配的 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onLastmileProbeResult()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLastmileProbeResult ( LastmileProbeResult  result)

通话前网络上下行 Last mile 质量探测报告回调。
该回调描述本地用户在加入房间前的 last mile 网络探测详细报告,报告中通过客观数据反馈上下行网络质量,包括网络抖动、丢包率等数据。您可以通过该回调客观预测本地用户在音视频通话中的网络状态。
在调用 startLastmileProbeTest 之后,SDK 会在约 30 秒内返回该回调。

自从
V4.5.0
参数
result上下行 Last mile 质量探测结果。详细信息请参考 LastmileProbeResult

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onLastmileQuality()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLastmileQuality ( int  quality)

通话前网络上下行 last mile 质量状态回调。
该回调描述本地用户在加入房间前的 last mile 网络探测的结果,以打分形式描述上下行网络质量的主观体验,您可以通过该回调预估本地用户在音视频通话中的网络体验。
在调用 startLastmileProbeTest 之后,SDK 会在约 5 秒内返回该回调。

自从
V4.5.0
参数
quality网络上下行质量,基于上下行网络的丢包率和抖动计算,探测结果主要反映上行网络的状态。
  • QUALITY_UNKNOWN(0):质量未知
  • QUALITY_EXCELLENT(1):质量极好
  • QUALITY_GOOD(2):用户主观感觉和极好差不多,但码率可能略低于极好
  • QUALITY_POOR(3):用户主观感受有瑕疵但不影响沟通
  • QUALITY_BAD(4):勉强能沟通但不顺畅
  • QUALITY_VBAD(5):网络质量非常差,基本不能沟通
  • QUALITY_DOWN(6):完全无法沟通

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onLeaveChannel()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLeaveChannel ( int  result)
abstract

退出房间回调。
App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。

参数
result0 表示成功;其他值表示退出房间失败,错误码请参考 NERtcConstants.ErrorCode。 在快速切换房间时 code 为 NERtcConstants.ErrorCode::LEAVE_CHANNEL_FOR_SWITCH。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onLiveStreamState()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLiveStreamState ( String  taskId,
String  pushUrl,
int  liveState 
)

推流状态已改变回调。

参数
taskId推流任务 ID。
pushUrl推流任务对应的 URL 地址。
liveState推流状态,详细信息请参考 NERtcConstants.LiveStreamState

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onLocalAudioVolumeIndication() [1/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLocalAudioVolumeIndication ( int  volume)

提示房间内本地用户瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。

参数
volume混音后的音量,范围为 0~100。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onLocalAudioVolumeIndication() [2/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLocalAudioVolumeIndication ( int  volume,
boolean  vadFlag 
)

提示房间内本地用户瞬时音量的回调。
该回调默认为关闭状态。可以通过 NERtcEx#enableAudioVolumeIndication(boolean enable, int interval, boolean enableVad) 方法开启;开启后,本地用户说话,SDK 会按该方法中设置的时间间隔触发该回调。
如果本地用户将自己静音(调用了 NERtcEx#muteLocalAudioStream(boolean mute)),SDK 将音量设置为 0 后回调给应用层。

自从
V4.6.10
参数
volume混音后的音量,范围为 0 ~ 100。
vadFlag是否检测到人声。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onLocalPublishFallbackToAudioOnly()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLocalPublishFallbackToAudioOnly ( boolean  isFallback,
NERtcVideoStreamType  streamType 
)

本地发布流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 AUDIO_ONLY 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

自从
V4.3.0
参数
isFallback本地发布流已回退或已恢复。
  • true: 由于网络环境不理想,发布的媒体流已回退为音频流。
  • false:由于网络环境改善,从音频流恢复为音视频流。
streamType对应的视频流类型,即主流或辅流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onLocalVideoWatermarkState()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onLocalVideoWatermarkState ( NERtcVideoStreamType  videoStreamType,
int  state 
)

本地视频水印生效结果回调。

自从
V4.6.10
参数
videoStreamType对应的视频流类型,即主流或辅流。详细信息请参考 video.NERtcVideoStreamType
state水印状态。详细信息请参考 NERtcConstants.NERtcLocalVideoWatermarkState
参见
NERtcEx::setLocalVideoWatermarkConfigs(NERtcVideoStreamType, NERtcVideoWatermarkConfig)

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onMediaRelayReceiveEvent()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onMediaRelayReceiveEvent ( int  event,
int  code,
String  channelName 
)

媒体流相关转发事件回调。

参数
event当前媒体流转发事件。详细信息请参考 NERtcConstants.ChannelMediaRelayEvent
code相关错误码。详细信息请参考 NERtcConstants.ErrorCode
channelName媒体流转发的目标房间名。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onMediaRelayStatesChange()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onMediaRelayStatesChange ( int  state,
String  channelName 
)

跨房间媒体流转发状态发生改变回调。

参数
state当前跨房间媒体流转发状态。详细信息请参考 NERtcConstants.ChannelMediaRelayState
channelName媒体流转发的目标房间名。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onMediaRightChange()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onMediaRightChange ( boolean  isAudioBannedByServer,
boolean  isVideoBannedByServer 
)

服务端禁言音视频权限变化回调。

自从
v4.6.0
参数
isAudioBannedByServer是否禁用音频。
  • true:禁用音频。
  • false:取消禁用音频。
isVideoBannedByServer是否禁用视频。
  • true:禁用视频。
  • false:取消禁用视频。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onPermissionKeyWillExpire()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onPermissionKeyWillExpire ( )

权限密钥即将过期事件回调。

  • 由于 PermissionKey 具有一定的时效,在通话过程中如果 PermissionKey 即将失效,SDK 会提前 30 秒触发该回调,提醒用户更新 PermissionKey。
    自从
    V4.6.29
    使用前提
    主房间内请在 NERtcCallbackEx 接口类中通过 NERtc#init() 接口设置回调监听。
    注解
    自 V4.6.40 起,此回调支持在子房间内返回。
    相关接口
    在收到此回调后可以调用 NERtc#updatePermissionKey() 方法更新权限密钥。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onReconnectingStart()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onReconnectingStart ( )

重连开始回调。
客户端和服务器断开连接时,SDK 会进行重连,重连开始时触发此回调。重连结果请参考 onReJoinChannel、onDisconnect。

参见
NERtcCallbackEx::onReJoinChannel(int, long)
NERtcCallbackEx::onDisconnect(int)

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onRecvSEIMsg()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onRecvSEIMsg ( long  userID,
String  seiMsg 
)

收到远端流的 SEI 内容回调。
当远端成功发送 SEI 后,本端会收到此回调。

参数
userID发送 SEI 的用户 ID。
seiMsg对应用户的 SEI 信息。
参见
NERtcEx::sendSEIMsg(String)

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onReJoinChannel()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onReJoinChannel ( int  result,
long  channelId 
)

重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK 会自动重连。自动重连成功后触发此回调方法。

参数
result0 成功;其他值表示重新加入失败,错误码请参考NERtcConstants.ErrorCode
channelId客户端加入的房间 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onRemoteAudioVolumeIndication()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onRemoteAudioVolumeIndication ( NERtcAudioVolumeInfo[]  volumeArray,
int  totalVolume 
)

提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的数组中:

  • 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
  • 如果 volume 为 0,表示该用户没有说话。
  • 如果数组为空,则表示此时远端没有人说话。
    参数
    volumeArray每个说话者的用户 ID 和音量信息的数组。详细信息请参考 stats.NERtcAudioVolumeInfo
    totalVolume混音后的总音量,取值范围为 0~100。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onRemoteSubscribeFallbackToAudioOnly()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onRemoteSubscribeFallbackToAudioOnly ( long  uid,
boolean  isFallback,
NERtcVideoStreamType  streamType 
)

订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果你调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 AUDIO_ONLY 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。

自从
V4.3.0
参数
uid远端用户的 ID。
isFallback远端订阅流已回退或恢复:
  • true: 由于网络环境不理想,订阅的远端流已回退为音频流。
  • false:由于网络环境改善,订阅的远端流从音频流恢复为音视频流。
streamType对应的视频流类型,即主流或辅流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUpdatePermissionKey()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUpdatePermissionKey ( String  key,
int  error,
int  timeout 
)

更新权限密钥事件回调。

  • 调用 NERtc#updatePermissionKey() 方法主动更新权限密钥后,SDK 会触发该回调,返回权限密钥更新的结果。
    自从
    V4.6.29
    使用前提
    主房间内请在 NERtcCallbackEx 接口类中通过 NERtc#init() 接口设置回调监听。
    注解
    此回调暂不支持在子房间内返回。
    参数说明
    参数名称 类型 描述
    key String 新的权限密钥。
    error int 错误码。更多请参考 NERtcConstants.ErrorCode
    • ENGINE_ERROR_CHANNEL_PERMISSION_KEY_ERROR(30901):权限密钥错误。
    • ENGINE_ERROR_CHANNEL_PERMISSION_KEY_TIMEOUT(30902):权限密钥超时。
    timeout int 更新后的权限密钥剩余有效时间。单位为秒。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserAudioMute()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserAudioMute ( long  uid,
boolean  muted 
)

远端用户暂停或恢复发送音频流的回调。

注解
该回调由远端用户调用 muteLocalAudioStream 方法开启或关闭音频发送触发。
参数
uid用户 ID,提示是哪个用户的音频流。
muted是否停止发送音频流。
  • true:该用户已暂停发送音频流。
  • false:该用户已恢复发送音频流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserAudioStart()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserAudioStart ( long  uid)
abstract

远端用户开启音频回调。

注解
该回调由远端用户调用 enableLocalAudio 方法开启音频采集和发送触发。
参数
uid远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserAudioStop()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserAudioStop ( long  uid)
abstract

远端用户停用音频回调。

注解
该回调由远端用户调用 enableLocalAudio 方法开启音频采集和发送触发。
参数
uid远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserJoined() [1/2]

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserJoined ( long  uid)
abstract

远端用户(通信场景)/主播(直播场景)加入当前频道回调。

  • 通信场景下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调
  • 直播场景下,该回调提示有主播加入了频道,并返回该主播的用户 ID。如果在加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入频道的回调。

该回调在如下情况下会被触发:

  • 远端用户调用 joinChannel 方法加入房间。
  • 远端用户网络中断后重新加入房间。
    注解
    直播场景下:
    • 主播间能相互收到新主播加入频道的回调,并能获得该主播的用户 ID。
    • 观众也能收到新主播加入频道的回调,并能获得该主播的用户 ID。
    • 当 Web 端加入直播频道时,只要 Web 端有推流,SDK 会默认该 Web 端为主播,并触发该回调。
    参数
    uid新加入房间的远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserJoined() [2/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserJoined ( long  uid,
NERtcUserJoinExtraInfo  joinExtraInfo 
)

远端用户加入房间事件回调。

  • 远端用户加入房间或断网重连后,SDK 会触发该回调,可以通过返回的用户 ID 订阅对应用户发布的音、视频流。
    • 通信场景下,该回调通知有远端用户加入了房间,并返回新加入用户的 ID;若该用户加入之前,已有其他用户在房间中,该新加入的用户也会收到这些已有用户加入房间的回调。
    • 直播场景下,该回调通知有主播加入了房间,并返回该主播的用户 ID;若该用户加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入房间的回调。
      自从
      V4.6.29
      使用前提
      请在 NERtcCallbackNERtcCallbackEx 接口类中通过 NERtc#init() 接口设置回调监听。
      注解
  • 同类型事件发生后,NERtcCallback#onUserJoined(long uid) 回调可能会与该回调同时触发,建议您仅注册此回调,不能同时处理两个回调。
  • 当 Web 端用户加入直播场景的房间中,只要该用户发布了媒体流,SDK 会默认该用户为主播,并触发此回调。
    参数说明
    参数名称 类型 描述
    uid long 新加入房间的远端用户 ID。
    joinExtraInfo NERtcUserJoinExtraInfo 该远端用户加入的额外信息。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserLeave() [1/2]

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserLeave ( long  uid,
int  reason 
)
abstract

远端用户离开当前房间回调。
提示有远端用户离开了房间(或掉线)。
用户离开房间有两个原因,即正常离开和超时掉线:

  • 正常离开的时候,远端用户会收到消息提示,判断用户离开房间。
  • 超时掉线的依据是,在一定时间内(40~50s),用户没有收到对方的任何数据包,则判定为对方掉线。
    参数
    uid离开房间的远端用户 ID。
    reason离开原因。
  • kNERtcSessionLeaveNormal(0):正常离开。
  • kNERtcSessionLeaveForFailOver(1):用户断线导致离开房间。
  • kNERTCSessionLeaveForUpdate(2):用户因 Failover 导致离开房间,仅 SDK 内部使用。
  • kNERtcSessionLeaveForKick(3):用户被踢导致离开房间。
  • kNERtcSessionLeaveTimeout(4):用户超时退出房间。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserLeave() [2/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserLeave ( long  uid,
int  reason,
NERtcUserLeaveExtraInfo  leaveExtraInfo 
)

远端用户离开房间事件回调。

  • 远端用户离开房间或掉线(在 40 ~ 50 秒内本端用户未收到远端用户的任何数据包)后,SDK 会触发该回调。
    自从
    V4.6.29
    使用前提
    请在 NERtcCallback 接口类中通过 NERtc#init() 接口设置回调监听。
    注解
    同类型事件发生后,NERtcCallback#onUserLeave(long uid,int reason) 回调可能会与该回调同时触发,建议您仅注册此回调,不能同时处理两个回调。
    参数说明
    参数名称 类型 描述
    uid long 离开房间的远端用户 ID。
    reason int 该远端用户离开的原因,更多请参考 NERtcConstants.ErrorCode
    • kNERtcSessionLeaveNormal(0):正常离开。
    • kNERtcSessionLeaveForFailOver(1):用户断线导致离开房间。
    • kNERTCSessionLeaveForUpdate(2):用户因 Failover 导致离开房间,仅 SDK 内部使用。
    • kNERtcSessionLeaveForKick(3):用户被踢导致离开房间。
    • kNERtcSessionLeaveTimeout(4):用户超时退出房间。
    leaveExtraInfo NERtcUserLeaveExtraInfo 该远端用户离开的额外信息。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserSubStreamAudioMute()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserSubStreamAudioMute ( long  uid,
boolean  muted 
)

远端用户暂停或恢复发送音频辅流的回调。

自从
V4.6.10
参数
uid用户 ID,提示是哪个用户的音频辅流。
muted是否停止发送音频辅流。
  • true:该用户已暂停发送音频辅流。
  • false:该用户已恢复发送音频辅流。
参见
NERtcEx::enableLocalSubStreamAudio(boolean)

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserSubStreamAudioStart()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserSubStreamAudioStart ( long  uid)

远端用户开启音频辅流回调。

自从
V4.6.10
参数
uid远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserSubStreamAudioStop()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserSubStreamAudioStop ( long  uid)

远端用户停用音频辅流回调。

自从
V4.6.10
参数
uid远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserSubStreamVideoStart()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserSubStreamVideoStart ( long  uid,
int  maxProfile 
)

远端用户开启屏幕共享辅流通道的回调。

参数
uid远端用户 ID。
maxProfile远端视频分辨率等级。详细信息请参考 NERtcConstants.VideoProfile

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserSubStreamVideoStop()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserSubStreamVideoStop ( long  uid)

远端用户停止屏幕共享辅流通道的回调。

参数
uid远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserVideoMute() [1/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserVideoMute ( long  uid,
boolean  muted 
)

远端用户暂停或恢复发送视频流回调。
当远端用户调用 muteLocalVideoStream 取消或者恢复发布视频流时,SDK会触发该回调向本地用户报告远程用户的发流状况。

注解
该回调仅在远端用户的视频主流状态改变时会触发,若您希望同时接收到远端用户视频辅流状态变更的通知,请监听 AbsNERtcCallbackEx#onUserVideoMute(NERtcVideoStreamType streamType, long uid, boolean muted) 回调。
参数
uid用户 ID,提示是哪个用户的视频流。
muted是否停止发送视频流。
  • true:该用户已暂停发送视频流。
  • false:该用户已恢复发送视频流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserVideoMute() [2/2]

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserVideoMute ( NERtcVideoStreamType  streamType,
long  uid,
boolean  muted 
)

远端用户暂停或恢复发送视频回调。
当远端用户调用 NERtcEx#muteLocalVideoStream(NERtcVideoStreamType streamType, boolean mute) 方法取消或者恢复发布视频流时,SDK 会触发该回调向本地用户通知远端用户的发流情况。

自从
V4.6.20
参数说明
参数名称 类型 描述
uid long 用户 ID,提示是哪个用户的视频流。
muted boolean 是否暂停发送视频流:
  • true:该用户已暂停发送视频流。
  • false:该用户已恢复发送视频流。
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserVideoProfileUpdate()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserVideoProfileUpdate ( long  uid,
int  maxProfile 
)

远端用户视频编码配置已更新回调。

参数
uid远端用户 ID。
maxProfile视频编码配置,详细信息请参考 NERtcConstants.VideoProfile

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onUserVideoStart()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserVideoStart ( long  uid,
int  maxProfile 
)
abstract

远端用户开启视频回调。
启用后,用户可以进行视频通话或直播。

参数
uid用户 ID,提示是哪个用户的视频流。
maxProfile视频编码配置,详细信息请参考 NERtcConstants.VideoProfile

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onUserVideoStop()

abstract void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onUserVideoStop ( long  uid)
abstract

远端用户停用视频回调。
关闭后,用户只能进行语音通话或者直播。

参数
uid远端用户 ID。

实现了 com.netease.lava.nertc.sdk.NERtcCallback.

◆ onVideoDeviceStageChange()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onVideoDeviceStageChange ( int  deviceState)

视频设备状态已改变回调。
该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。

参数
deviceState设备状态。详细信息请参考 NERtcConstants.VideoDeviceState

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onVirtualBackgroundSourceEnabled()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onVirtualBackgroundSourceEnabled ( boolean  enabled,
int  reason 
)

通知虚拟背景是否成功开启的回调。
调用 NERtcEx#enableVirtualBackground(boolean enabled, NERtcVirtualBackgroundSource backgroundSource) 接口启用虚拟背景功能后,SDK 会触发此回调。

注解
如果自定义虚拟背景是 PNG 或 JPG 格式的图片,SDK 会在读取图片后才会触发此回调,因此可能存在一定延时。
自从
V4.6.10
参数
enabled是否已成功开启虚拟背景。
  • true:成功开启虚拟背景。
  • false:未成功开启虚拟背景。
reason虚拟背景开启出错的原因或开启成功的提示。 NERtcConstants.NERtcVirtualBackgroundSourceStateReason

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.

◆ onWarning()

void com.netease.lava.nertc.sdk.AbsNERtcCallbackEx.onWarning ( int  code)

发生警告回调。
该回调方法表示 SDK 运行时出现了网络或媒体相关的警告。
通常情况下,App 可以忽略 SDK 上报的警告信息,SDK 会自动恢复。

参数
code警告码。NERtcConstants.WarningCode

实现了 com.netease.lava.nertc.sdk.NERtcCallbackEx.


该类的文档由以下文件生成: