ChannelObserver 编辑文档

public enum ChannelRole
public class RtcStat
public class VolumeInfo
Public成员函数
void onJoinSuccess(String roomName, long uid, ChannelRole role, boolean muted,String name)
void onReJoinSuccess(String roomName, long uid, ChannelRole role, boolean muted,String name)
void onOtherJoin(long uid, ChannelRole role, boolean muted,String name)
void onJoinFail(int code, String message)
void onConnectionBreak()
void onConnectionLost()
void onError(int err, String message)
void onWarning(int warn, String message)
void onLeave()
void onOtherLeave(long uid, ChannelRole role,String name)
void onTalkingVolumeIndication(VolumeInfo[] volumeInfos, int size)
void onMuteStatusChanged(long uid, boolean muted,String name)
void onRoleStatusChanged(long uid, ChannelRole role,String name)
void onNetworkStats(long uid, int txQuality, int rxQuality, RtcStat stat,String name)
void onAudioRouteChanged(int route)
void onSoundStateChanged(int state)
void onEffectFinished(int effectId)
void onUserEnableVideo(long uid, boolean enabled,String name)
void onUserEnableLocalVideo(long uid, boolean enabled,String name)
void onUserMuteVideo(long uid, boolean muted,String name)
void onFirstLocalVideoFrame(int width, int height, int elapsed, String name)
void onFirstLocalVideoFramePublished(int elapsed, String name)
void onFirstRemoteVideoDecoded(long uid, int width, int height, int elapsed, String name)
void onFirstRemoteVideoFrame(long uid, int width, int height, int elapsed, String name)

详细描述

通过频道事件回调可以监听和报告指定频道的事件和数据。


方法

onJoinSuccess

定义
public void onJoinSuccess(String roomName, long uid, ChannelRole role, boolean muted,String name)
说明

自己加入成功,实现加入频道成功的逻辑。

参数
参数名 说明
roomName 频道名字
uid 用户id。如果用户加入频道前没有设置id,这位服务器自动分配的id
role 加入频道的角色。TALKER表示主播,可说可听;AUDIENCE表示听众,只能听不能说
muted 加入频道的静音状态。0表示未静音,1表示静音
name 加入频道设置的用户名。如果没有设置则为””



方法

onReJoinSuccess

定义
public void onReJoinSuccess(String roomName, long uid, ChannelRole role, boolean muted,String name)
说明

断线重新加入频道成功的逻辑。

参数
参数名 说明
roomName 频道名字
uid 用户id。如果用户加入频道前没有设置id,这位服务器自动分配的id
role 加入频道的角色。TALKER表示主播,可说可听;AUDIENCE表示听众,只能听不能说
muted 加入频道的静音状态。0表示未静音,1表示静音
name 加入频道设置的用户名。如果没有设置则为””



onOtherJoin

定义
public void onOtherJoin(long uid, ChannelRole role, boolean muted, String name)
说明

其他用户加入,实现别人进入频道的逻辑。

参数
参数名 说明
uid 加入频道的用户id
role 加入频道的角色。TALKER表示主播,可说可听;AUDIENCE表示听众,只能听不能说
muted 加入频道的静音状态。0表示未静音,1表示静音
name 加入频道的用户设置的用户名。如果没有设置则为””



onJoinFail

定义
public void onJoinFail(int code, String message)
说明

自己加入失败,实现加入频道失败的逻辑。

参数
参数名 说明
code 失败状态
message 失败信息



onConnectionBreak

定义
public void onConnectionBreak()
说明

网络打断。



onConnectionLost

定义
public void onConnectionLost()
说明

网络失去连接。



onError

定义
public void onError(int err, String message)
说明

运行过程中的错误信息,SDK无法自行恢复。一般情况下应用需要提示用户并进行对应的处理。

参数
参数名 说明
err 错误码
message 错误描述



onWarning

定义
public void onWarning(int warn, String message)
说明

运行过程中的警告信息,通常是网络或者音频设备相关的。一般情况下应用可以忽略,SDK会自己尝试恢复。

参数
参数名 说明
warn 警告码
message 警告描述



onLeave

定义
public void onLeave()
说明

实现退出频道的逻辑。



onOtherLeave

定义
public void onOtherLeave(long uid, ChannelRole role, String name)
说明

其他用户离开,实现别人离开频道的逻辑。

参数
参数名 说明
uid 离开频道用户的id
role 离开频道用户的角色
name 离开频道用户加入频道设置的用户名。如果没有设置则为””



onTalkingVolumeIndication

定义
public void onTalkingVolumeIndication(VolumeInfo[] volumeInfos, int size)
说明

用户音量提示

参数
参数名 说明
volumeInfos 用户音量信息集合
size volumeInfos中用户个数



onMuteStatusChanged

定义
public void onMuteStatusChanged(long uid, boolean muted, String name)
说明

用户mute状态,实现静音状态改变的逻辑。

参数
参数名 说明
uid 用户id。如果为0,表示自己静音状态,否则表示他人静音状态
muted 0表示未静音,1表示静音
name 加入频道设置的用户名。如果没有设置则为””



onRoleStatusChanged

定义
public void  onRoleStatusChanged(long uid, ChannelRole role, String name)
说明

用户角色状态,实现角色状态改变的逻辑。

参数
参数名 说明
uid 用户id。如果为0,表示自己角色状态,否则表示他人角色状态
role TALKER表示主播,可说可听;AUDIENCE表示听众,只能听不能说
name 加入频道设置的用户名。如果没有设置则为””



onNetworkStats

定义
public void onNetworkStats(long uid, int txQuality, int rxQuality, RtcStat stat, String name)
说明

当前通话网络统计回调,通话中每两秒触发一次。

参数
参数名 说明
uid 用户ID。表示该ID的用户的网络质量,如果为0,表示本地用户的网络质量
txQuality 该用户的上行网络质量
rxQuality 该用户的下行网络质量
stat 通话相关的统计信息
name 加入频道设置的用户名。如果没有设置则为””



onAudioRouteChanged

定义
public void onAudioRouteChanged(int route)
说明

语音路由变更。

参数
参数名 说明
route 路由类型



onSoundStateChanged

定义
public void onSoundStateChanged(int state)
说明

音乐文件播放状态发生改变。

参数
参数名 说明
state 播放状态



onEffectFinished

定义
public void onEffectFinished(int effectId)
说明

音效文件播放完毕

参数
参数名 说明
effectId 音效Id



onUserEnableVideo

定义
public void onUserEnableVideo(long uid, boolean enabled, String name)
说明

远端用户开/关视频模块回调。
该回调是由远端用户调用 enableVideodisableVideo 方法开启或关闭视频模块触发的。

参数
参数名 说明
uid uid 用户 ID,提示是哪个用户的视频流
enabled true:该用户已启用视频功能;false:该用户已关闭视频功能。
name 加入频道设置的用户名。如果没有设置则为””



onUserEnableLocalVideo

定义
public void onUserEnableLocalVideo(long uid, boolean enabled, String name)
说明

远端用户开/关本地视频采集回调。
该回调是由远端用户调用enableLocalVideo方法开启或关闭视频采集触发的。

参数
参数名 说明
uid uid 用户 ID,提示是哪个用户的视频流
enabled true:该用户已启用本地视频功能。启用后,其他用户可以接收到该用户的视频流;false:该用户已关闭视频功能。关闭后,该用户仍然可以接收其他用户的视频流,但其他用户接收不到该用户的视频流
name 加入频道设置的用户名。如果没有设置则为””



onUserMuteVideo

定义
public void onUserMuteVideo(long uid, boolean enabled, String name)
说明

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

参数
参数名 说明
uid 远端用户UID
muted 远端用户是否取消发布视频流:true:取消发布视频流;false:发布视频流
name 该用户加入频道设置的用户名。如果没有设置则为””



onFirstLocalVideoFrame

定义
public void onFirstLocalVideoFrame(int width, int height, int elapsed, String name)
说明

已显示本地视频首帧回调。

本地视频首帧显示在本地视图上时,SDK 会触发此回调

参数
参数名 说明
width 本地渲染视频的宽 (px)
height 本地渲染视频的高 (px)
elapsed 从调用 joinChannel 到发生此事件过去的时间(毫秒)。如果在 joinChannel 前调用了 startPreview,则是从 startPreview 到发生此事件过去的时间。
name 该用户加入频道设置的用户名。如果没有设置则为””



onFirstLocalVideoFramePublished

定义
public void onFirstLocalVideoFramePublished( int elapsed, String name)
说明

已发布本地视频首帧回调。

SDK 会在以下时机触发该回调:

  • 开启本地视频的情况下,调用 joinChannel 成功加入频道后。
  • 调用 muteLocalVideoStream(true),再调用 muteLocalVideoStream(false) 后。
  • 调用 disableVideo,再调用 enableVideo 后。
  • 调用 pushVideoFrame 成功向 SDK 推送视频帧后。
参数
参数名 说明
elapsed 从调用 joinChannel 方法到触发该回调的时间间隔(毫秒)
name 该用户加入频道设置的用户名。如果没有设置则为””



onFirstRemoteVideoDecoded

定义
public void onFirstRemoteVideoDecoded(long uid, int width, int height, int elapsed, String name)
说明

已完成远端视频首帧解码回调。

本地收到远端第一个视频帧并解码成功后,会触发该回调。有两种情况:远端用户首次上线后发送视频,远端用户视频离线再上线后发送视频

参数
参数名 说明
uid 用户 ID,指定是哪个用户的视频流
width 视频流宽(px)
height 视频流高(px)
elapsed 从本地用户调用 joinChannel 方法直至该回调被触发的延迟(毫秒)
name 该用户加入频道设置的用户名。如果没有设置则为””



onFirstRemoteVideoFrame

定义
public void onFirstRemoteVideoFrame(long uid, int width, int height, int elapsed, String name)
说明

已显示首帧远端视频回调。

第一帧远端视频显示在视图上时,触发此调用。 App 可在此调用中获知出图时间(elapsed)

参数
参数名 说明
uid 用户 ID,指定是哪个用户的视频流
width 视频流宽(px)
height 视频流高(px)
elapsed 从本地用户调用 joinChannel 方法直至该回调被触发的延迟(毫秒)
name 该用户加入频道设置的用户名。如果没有设置则为””



野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题