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
定义
说明
实现退出频道的逻辑。
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)
|
说明
语音路由变更。
参数
onSoundStateChanged
定义
public void onSoundStateChanged(int state)
|
说明
音乐文件播放状态发生改变。
参数
onEffectFinished
定义
public void onEffectFinished(int effectId)
|
说明
音效文件播放完毕
参数
onUserEnableVideo
定义
public void onUserEnableVideo(long uid, boolean enabled, String name)
|
说明
远端用户开/关视频模块回调。
该回调是由远端用户调用 enableVideo 或 disableVideo 方法开启或关闭视频模块触发的。
参数
参数名 |
说明 |
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 |
该用户加入频道设置的用户名。如果没有设置则为”” |