NERtc Android SDK
V5.3.1
|
Public 成员函数 | |
void | onJoinChannel (int result, long channelId, long elapsed, long uid) |
void | onLeaveChannel (int result) |
void | onUserJoined (long uid) |
void | onUserJoined (long uid, NERtcUserJoinExtraInfo joinExtraInfo) |
void | onUserLeave (long uid, int reason) |
void | onUserLeave (long uid, int reason, NERtcUserLeaveExtraInfo leaveExtraInfo) |
void | onUserAudioStart (long uid) |
void | onUserAudioStop (long uid) |
void | onUserVideoStart (long uid, int maxProfile) |
void | onUserVideoStop (long uid) |
void | onDisconnect (int reason) |
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 | onReconnectingStart (long channelId, long uid) |
void | onReJoinChannel (int result, long channelId) |
void | onLocalAudioVolumeIndication (int volume) |
void | onLocalAudioVolumeIndication (int volume, boolean vadFlag) |
void | onRemoteAudioVolumeIndication (NERtcAudioVolumeInfo[] volumeArray, int totalVolume) |
void | onLiveStreamState (String taskId, String pushUrl, int liveState) |
void | onConnectionStateChanged (int state, int reason) |
void | onRecvSEIMsg (long userID, String seiMsg) |
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 | onMediaRightChange (boolean isAudioBannedByServer, boolean isVideoBannedByServer) |
void | onUserSubStreamAudioStart (long uid) |
void | onUserSubStreamAudioStop (long uid) |
void | onUserSubStreamAudioMute (long uid, boolean muted) |
void | onUserDataStart (long uid) |
void | onUserDataStop (long uid) |
void | onUserDataReceiveMessage (long uid, ByteBuffer bufferData, long bufferSize) |
void | onUserDataStateChanged (long uid) |
void | onUserDataBufferedAmountChanged (long uid, long previousAmount) |
void | onError (int code) |
void | onWarning (int code) |
void | onApiCallExecuted (String apiName, int result, String message) |
NERtcChannelCallback 异步回调接口,用户需要实现该接口来完成对 NERtcChannelCallback 各种状态回调的处理。
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onClientRoleChange | ( | int | oldRole, |
int | newRole | ||
) |
直播场景下用户角色已切换回调。
用户加入房间后,通过 NERtcChannel#setClientRole(int role) 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。
注意:
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:
oldRole | 切换前的角色。详细信息请参考 NERtcConstants.UserRole。 |
newRole | 切换后的角色。详细信息请参考 NERtcConstants.UserRole。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onConnectionStateChanged | ( | int | state, |
int | reason | ||
) |
房间连接状态已改变回调。
该回调在房间连接状态发生改变的时候触发,并告知用户当前的房间连接状态和引起房间状态改变的原因。
state | 当前的房间连接状态。详细信息请参考 NERtcConstants.ConnectionState。 |
reason | 引起当前房间连接状态发生改变的原因。详细信息请参考 NERtcConstants.ConnectionStateChangeReason。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onDisconnect | ( | int | reason | ) |
网络连接中断,且 SDK 连续 3 次重连服务器失败。
注意:
reason | 网络连接中断原因。详细信息请查看 NERtcConstants.ErrorCode。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onError | ( | int | code | ) |
发生错误回调。
该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。
通常情况下,SDK上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。
code | NERtcConstants.RuntimeError |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onFirstAudioDataReceived | ( | long | uid | ) |
已接收到远端音频首帧回调。
uid | 远端用户 ID,指定是哪个用户的音频流。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onFirstAudioFrameDecoded | ( | long | userID | ) |
已解码远端音频首帧的回调。
userID | 远端用户 ID,指定是哪个用户的音频流。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onFirstVideoDataReceived | ( | long | uid | ) |
已显示远端视频首帧的回调。
第一帧远端视频显示在视图上时,触发此回调。
uid | 远端用户 ID,指定是哪个用户的视频流。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onFirstVideoDataReceived | ( | NERtcVideoStreamType | streamType, |
long | uid | ||
) |
已显示远端视频首帧的回调。
当远端视频的第一帧画面显示在视窗上时,会触发此回调。
参数名称 | 类型 | 描述 |
---|---|---|
type | video.NERtcVideoStreamType | 视频通道类型:
|
uid | long | 用户 ID,提示是哪个用户的视频流。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onFirstVideoFrameDecoded | ( | long | userID, |
int | width, | ||
int | height | ||
) |
已显示首帧远端视频回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的视频画布。
userID | 远端用户 ID,指定是哪个用户的视频流。 |
width | 首帧视频宽,单位为 px。 |
height | 首帧视频高,单位为 px。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onFirstVideoFrameDecoded | ( | NERtcVideoStreamType | streamType, |
long | userID, | ||
int | width, | ||
int | height | ||
) |
已接收到远端视频首帧并完成解码的回调。
当 SDK 收到远端视频的第一帧并解码成功时,会触发该回调。应用层可在该回调中设置此用户的视频画布。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
userID | long | 用户 ID,提示是哪个用户的视频流。 |
width | int | 首帧视频的宽度,单位为 px。 |
height | int | 首帧视频的高度,单位为 px。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onJoinChannel | ( | int | result, |
long | channelId, | ||
long | elapsed, | ||
long | uid | ||
) |
加入房间回调,表示客户端已经登入服务器。
result | 0 表示加入房间成功;其他值表示加入房间失败,详细错误码请参考 NERtcConstants.ErrorCode。 |
channelId | 客户端加入的房间 ID。 |
elapsed | 从 joinChannel 开始到发生此事件过去的时间,单位为毫秒。 |
uid | 用户 ID。 如果在 joinChannel 方法中指定了 uid,此处会返回指定的 ID; 如果未指定 uid(joinChannel 时uid=0),此处将返回云信服务器自动分配的 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onLeaveChannel | ( | int | result | ) |
退出房间回调。
App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。
result | 0 表示成功;其他值表示退出房间失败,错误码请参考 NERtcConstants.ErrorCode。 在快速切换房间时 code 为 NERtcConstants.ErrorCode::LEAVE_CHANNEL_FOR_SWITCH。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onLiveStreamState | ( | String | taskId, |
String | pushUrl, | ||
int | liveState | ||
) |
推流状态已改变回调。
taskId | 推流任务 ID。 |
pushUrl | 推流任务对应的 URL 地址。 |
liveState | 推流状态,详细信息请参考 NERtcConstants.LiveStreamState。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onLocalAudioVolumeIndication | ( | int | volume | ) |
提示房间内本地用户瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
volume | 混音后的音量,范围为 0~100。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onLocalAudioVolumeIndication | ( | int | volume, |
boolean | vadFlag | ||
) |
提示房间内本地用户瞬时音量的回调。
该回调默认为关闭状态。可以通过 NERtcEx#enableAudioVolumeIndication(boolean enable, int interval, boolean enableVad) 方法开启;开启后,本地用户说话,SDK 会按该方法中设置的时间间隔触发该回调。
如果本地用户将自己静音(调用了 NERtcChannel#muteLocalAudioStream(boolean mute)),SDK 将音量设置为 0 后回调给应用层。
volume | 混音后的音量,范围为 0 ~ 100。 |
vadFlag | 是否检测到人声。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onLocalPublishFallbackToAudioOnly | ( | boolean | isFallback, |
NERtcVideoStreamType | streamType | ||
) |
本地发布流已回退为音频流、或已恢复为音视频流回调。 如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 AUDIO_ONLY 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。
isFallback | 本地发布流已回退或已恢复。
|
streamType | 对应的视频流类型,即主流或辅流。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onMediaRelayReceiveEvent | ( | int | event, |
int | code, | ||
String | channelName | ||
) |
跨房间媒体流转发状态发生改变回调。
event | 当前媒体流转发事件。详细信息请参考 NERtcConstants.ChannelMediaRelayEvent。 |
code | 相关错误码。详细信息请参考 NERtcConstants.ErrorCode。 |
channelName | 媒体流转发的目标房间名。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onMediaRelayStatesChange | ( | int | state, |
String | channelName | ||
) |
跨房间媒体流转发状态发生改变回调。
state | 当前跨房间媒体流转发状态。详细信息请参考 NERtcConstants.ChannelMediaRelayState。 |
channelName | 媒体流转发的目标房间名。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onMediaRightChange | ( | boolean | isAudioBannedByServer, |
boolean | isVideoBannedByServer | ||
) |
服务端禁言音视频权限变化回调。
isAudioBannedByServer | 是否禁用音频。
|
isVideoBannedByServer | 是否禁用视频。
|
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onReconnectingStart | ( | long | channelId, |
long | uid | ||
) |
重连开始回调。
客户端和服务器断开连接时,SDK 会进行重连,重连开始时触发此回调。重连结果请参考 onReJoinChannel、onDisconnect。
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onRecvSEIMsg | ( | long | userID, |
String | seiMsg | ||
) |
收到远端流的 SEI 内容回调。
当远端成功发送 SEI 后,本端会收到此回调。
userID | 发送 SEI 的用户 ID。 |
seiMsg | 对应用户的 SEI 信息。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onReJoinChannel | ( | int | result, |
long | channelId | ||
) |
重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK 会自动重连。自动重连成功后触发此回调方法。
result | 0 成功;其他值表示重新加入失败,错误码请参考NERtcConstants.ErrorCode。 |
channelId | 客户端加入的房间 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onRemoteAudioVolumeIndication | ( | NERtcAudioVolumeInfo[] | volumeArray, |
int | totalVolume | ||
) |
提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的数组中:
volumeArray | 每个说话者的用户 ID 和音量信息的数组。详细信息请参考 stats.NERtcAudioVolumeInfo。 |
totalVolume | 混音后的总音量,取值范围为 0~100。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onRemoteSubscribeFallbackToAudioOnly | ( | long | uid, |
boolean | isFallback, | ||
NERtcVideoStreamType | streamType | ||
) |
订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果你调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 AUDIO_ONLY 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。
uid | 远端用户的 ID。 |
isFallback | 远端订阅流已回退或恢复。
|
streamType | 对应的视频流类型,即主流或辅流。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserAudioMute | ( | long | uid, |
boolean | muted | ||
) |
远端用户暂停或恢复发送音频流的回调。
uid | 用户 ID,提示是哪个用户的音频流。 |
muted | 是否停止发送音频流。
|
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserAudioStart | ( | long | uid | ) |
远端用户开启音频回调。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserAudioStop | ( | long | uid | ) |
远端用户停用音频回调。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserDataReceiveMessage | ( | long | uid, |
ByteBuffer | bufferData, | ||
long | bufferSize | ||
) |
接收到远端数据流信息回调
uid | 远端用户 ID。 |
bufferData | buffer 数据。 |
bufferSize | 房间唯一标识ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserDataStart | ( | long | uid | ) |
远端用户开启数据流。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserDataStop | ( | long | uid | ) |
远端用户停用数据流。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserJoined | ( | long | uid | ) |
该回调在如下情况下会被触发:
uid | 新加入房间的远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserJoined | ( | long | uid, |
NERtcUserJoinExtraInfo | joinExtraInfo | ||
) |
远端用户加入房间事件回调。 远端用户加入房间或断网重连后,SDK 会触发该回调,可以通过返回的用户 ID 订阅对应用户发布的音、视频流。
同类型事件发生后,NERtcChannelCallback#onUserJoined(long uid) 回调可能会与该回调同时触发,建议您仅注册此回调,不能同时处理两个回调。
参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 新加入房间的远端用户 ID。 |
joinExtraInfo | NERtcUserJoinExtraInfo | 该远端用户加入的额外信息。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserLeave | ( | long | uid, |
int | reason | ||
) |
note
uid | 离开房间的远端用户 ID。 |
reason | 离开原因。
|
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserLeave | ( | long | uid, |
int | reason, | ||
NERtcUserLeaveExtraInfo | leaveExtraInfo | ||
) |
远端用户离开房间事件回调。
参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 离开房间的远端用户 ID。 |
reason | int | 该远端用户离开的原因,更多请参考 NERtcConstants.ErrorCode。
|
leaveExtraInfo | NERtcUserLeaveExtraInfo | 该远端用户离开的额外信息。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserSubStreamAudioMute | ( | long | uid, |
boolean | muted | ||
) |
远端用户暂停或恢复发送音频辅流的回调。
uid | 用户 ID,提示是哪个用户的音频辅流。 |
muted | 是否停止发送音频辅流。
|
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserSubStreamAudioStart | ( | long | uid | ) |
远端用户开启音频辅流回调。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserSubStreamAudioStop | ( | long | uid | ) |
远端用户停用音频辅流回调。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserSubStreamVideoStart | ( | long | uid, |
int | maxProfile | ||
) |
远端用户开启屏幕共享辅流通道的回调。
uid | 远端用户 ID。 |
maxProfile | 远端视频分辨率等级。详细信息请参考 NERtcConstants.VideoProfile。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserSubStreamVideoStop | ( | long | uid | ) |
远端用户停止屏幕共享辅流通道的回调。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserVideoMute | ( | long | uid, |
boolean | muted | ||
) |
远端用户暂停或恢复发送视频流回调。
当远端用户调用 muteLocalVideoStream 取消或者恢复发布视频流时,SDK会触发该回调向本地用户报告远程用户的发流状况。
uid | 用户 ID,提示是哪个用户的视频流。 |
muted | 是否停止发送视频流。
|
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserVideoMute | ( | NERtcVideoStreamType | streamType, |
long | uid, | ||
boolean | muted | ||
) |
远端用户暂停或恢复发送视频回调。
当远端用户调用 NERtcChannel#muteLocalVideoStream(boolean mute, NERtcVideoStreamType streamType) 方法取消或者恢复发布视频流时,SDK 会触发该回调向本地用户通知远端用户的发流情况。
参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 用户 ID,提示是哪个用户的视频流。 |
muted | boolean | 是否暂停发送视频流:
|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserVideoStart | ( | long | uid, |
int | maxProfile | ||
) |
远端用户开启视频回调。
启用后,用户可以进行视频通话或直播。
uid | 用户 ID,提示是哪个用户的视频流。 |
maxProfile | 视频编码配置,详细信息请参考 NERtcConstants.VideoProfile。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onUserVideoStop | ( | long | uid | ) |
远端用户停用视频回调。
关闭后,用户只能进行语音通话或者直播。
uid | 远端用户 ID。 |
void com.netease.lava.nertc.sdk.channel.NERtcChannelCallback.onWarning | ( | int | code | ) |
发生警告回调。
该回调方法表示 SDK 运行时出现了网络或媒体相关的警告。
通常情况下,App 可以忽略 SDK 上报的警告信息,SDK 会自动恢复。
code | 警告码。NERtcConstants.WarningCode |