KRTCSDK-事件接口

函数

abstract void onWarning (int warningType, String content)
 
abstract void onError (int errorType, String content)
 
abstract void onRelease (int result)
 
abstract void onLogin (int result, String userId)
 
abstract void onLogout (int result)
 
abstract void onJoinRoom (int result)
 
abstract void onLeaveRoom (int result)
 
abstract void onIncomingCall (String roomId, String roomName)
 
abstract void onCancelCall (String roomId, String roomName)
 
abstract void onReplyCall (boolean answerOrHanup, String roomId, int result)
 
abstract void onPublishStream (int type, int mediaIndex, int result)
 
abstract void onSubscribeStream (String userId, int type, int mediaIndex, int result)
 
abstract void onUpdateStreamLayer (String userId, int type, int mediaIndex, int layerIndex, int result)
 
abstract void onUnpublishStream (int type, int mediaIndex, int result)
 
abstract void onUnsubscribeStream (String userId, int type, int mediaIndex, int result)
 
abstract void onUnpublishStreamNotify (int type, int mediaIndex)
 
abstract void onPausePublishStream (int type, int mediaIndex, boolean pauseOrResume, int result)
 
abstract void onPauseSubscribeStream (String userId, int type, int mediaIndex, boolean pauseOrResume, int result)
 
abstract void onRequestKeyFrame (String userId, int type, int mediaIndex, int result)
 
abstract void onAudioLevelIndication (AudioLevelParam userVolumes, int speakerNumber)
 
abstract void onRemoteUserJoinRoom (String userId, String nickName)
 
abstract void onRemoteUserLeaveRoom (String userId)
 
abstract void onRemoteUserPublishStream (String userId, StreamParam param)
 
abstract void onRemoteUserUnpublishStream (String userId, int type, int mediaIndex)
 
abstract void onRecommendEncodingParam (int type, int mediaIndex, int layerIndex, VideoCodecParam param)
 
abstract void onLocalStatistics (Statistics state)
 
abstract void onLocalVideoStatistics (int type, int mediaIndex, VideoStatistics state)
 
abstract void onLocalAudioStatistics (AudioStatistics state)
 
abstract void onRemoteVideoStatistics (String userId, int type, int mediaIndex, VideoStatistics state)
 
abstract void onRemoteAudioStatistics (String userId, int type, AudioStatistics state)
 
abstract void onRemoteVideoFrame (String userId, int type, int mediaIndex, VideoFrameData data)
 
abstract void onRemoteVideoData (String userId, int type, int mediaIndex, EncodedVideoData data)
 
abstract void onRemoteMixedAudioFrame (AudioFrameData data)
 
abstract void onRemoteAudioFrame (String userId, int type, AudioFrameData data)
 
abstract void onLocalAudioFrame (AudioFrameData data)
 
abstract void onSnapshotVideo (Bitmap bitmap, int result)
 
abstract void onAudioControlPlayoutMute (boolean playoutMute)
 
abstract void onAudioControlRecordMute (boolean recordMute)
 
abstract void onLocalAudioData (String deviceId, AudioFrameData data)
 
abstract void onLocalAudioLevel (String deviceId, byte level)
 
abstract void onLocalVideoData (String deviceId, VideoFrameData data)
 
abstract void onLog (String module, String log)
 

详细描述

KRtcSDK 全局回调接口,所有的事件都包括在内。

onLocalAudioData 麦克风采集数据将通过callback回调。

onLocalAudioLevel SDK每200ms回调一次,汇报当前音频能量(0-127)

onLocalVideoData 摄像头采集数据将通过callback回调

onLog C++底层日志数据将通过回调获得

函数说明

◆ onAudioControlPlayoutMute()

abstract void onAudioControlPlayoutMute ( boolean  playoutMute)
abstract

用于接收静音事件的回调,终端或者平台控制时都会触发

参数
playoutMutetrue为静音

◆ onAudioControlRecordMute()

abstract void onAudioControlRecordMute ( boolean  recordMute)
abstract

用于接收哑音事件的回调,终端或者平台控制时都会触发

参数
recordMutetrue为哑音

◆ onAudioLevelIndication()

abstract void onAudioLevelIndication ( AudioLevelParam  userVolumes,
int  speakerNumber 
)
abstract

远端音频能量回调

参数
userVolumes远端用户音频能量
speakerNumberuserVolumes数组大小

◆ onCancelCall()

abstract void onCancelCall ( String  roomId,
String  roomName 
)
abstract

平台取消呼叫

参数
roomId房间id
roomName房间名称

◆ onError()

abstract void onError ( int  errorType,
String  content 
)
abstract

错误回调

参数
errorType错误类型
content错误信息

◆ onIncomingCall()

abstract void onIncomingCall ( String  roomId,
String  roomName 
)
abstract

收到平台呼叫

参数
roomId房间id
roomName房间名称
注解
只有在未加入房间时会收到平台呼叫

◆ onJoinRoom()

abstract void onJoinRoom ( int  result)
abstract

用户离开房间

参数
result,0:用户主动离开房间SDK_NETWORK_ERROR:网络异常掉线 SDK_LEAVEROOM_PLEASE_OUT_ERROR:被管理员请出房间 SDK_LEAVEROOM_ROOM_DISSOLVED_ERROR:房间被解散

◆ onLeaveRoom()

abstract void onLeaveRoom ( int  result)
abstract

用户离开房间

参数
result0:用户主动离开房间 -1:网络异常掉线 1:被管理员请出房间 2:房间被解散

◆ onLocalAudioData()

abstract void onLocalAudioData ( String  deviceId,
AudioFrameData  data 
)
abstract
参数
deviceId摄像头设备id,回传deviceID消息
data视频帧数据(YUV420格式)

◆ onLocalAudioFrame()

abstract void onLocalAudioFrame ( AudioFrameData  data)
abstract

本地采集音频数据回调(PCM格式)

参数
data音频数据

◆ onLocalAudioLevel()

abstract void onLocalAudioLevel ( String  deviceId,
byte  level 
)
abstract
参数
deviceId摄像头设备id,回传deviceID消息
level回传音量大小

◆ onLocalAudioStatistics()

abstract void onLocalAudioStatistics ( AudioStatistics  state)
abstract

本地音频流统计信息回调,进入房间且发布后2s触发一次

参数
state网络统计信息

◆ onLocalStatistics()

abstract void onLocalStatistics ( Statistics  state)
abstract

本地网络统计信息回调,进入房间后2s触发一次

参数
state网络统计信息

◆ onLocalVideoData()

abstract void onLocalVideoData ( String  deviceId,
VideoFrameData  data 
)
abstract
参数
deviceId摄像头设备id,回传deviceID消息
data音频帧数据

◆ onLocalVideoStatistics()

abstract void onLocalVideoStatistics ( int  type,
int  mediaIndex,
VideoStatistics  state 
)
abstract

本地视频流统计信息回调,进入房间且发布后2s触发一次

参数
type码流类型
mediaIndex同类型码流索引
state网络统计信息

◆ onLog()

abstract void onLog ( String  module,
String  log 
)
abstract
参数
module模块名称
log日志字段

◆ onLogin()

abstract void onLogin ( int  result,
String  userId 
)
abstract

注册回调

参数
result0:成功 SDK_PARAMETER_ERROR:参数错误 SDK_LOGIN_REPEATED_REGISTRATION_ERROR:重复注册 SDK_NETWORK_ERROR:网络异常 SDK_LOGIN_TOKEN_ERROR:token校验失败
userId匿名登录时返回用户id

◆ onLogout()

abstract void onLogout ( int  result)
abstract

登出回调

参数
result0:成功 SDK_NETWORK_ERROR:网络异常
注解
网络异常30s后会断开

◆ onPausePublishStream()

abstract void onPausePublishStream ( int  type,
int  mediaIndex,
boolean  pauseOrResume,
int  result 
)
abstract

暂停、恢复发布回调

注解
自定义采集或编码时不支持该功能
参数
type码流类型
mediaIndex码流索引,音频和辅流填0即可
pauseOrResumetrue:暂停 false:恢复
result0:成功 SDK_PARAMETER_ERROR:参数错误

◆ onPauseSubscribeStream()

abstract void onPauseSubscribeStream ( String  userId,
int  type,
int  mediaIndex,
boolean  pauseOrResume,
int  result 
)
abstract

暂停、恢复订阅回调

参数
userId远端用户id
type码流类型
mediaIndex码流索引,音频和辅流填0即可
pauseOrResumetrue:暂停 false:恢复
result0:成功 SDK_SERVER_ERROR:服务器异常 SDK_PARAMETER_ERROR:参数错误

◆ onPublishStream()

abstract void onPublishStream ( int  type,
int  mediaIndex,
int  result 
)
abstract

发布流回调

参数
type码流类型
mediaIndex码流索引
result0:成功 SDK_PARAMETER_ERROR:参数错误 SDK_PUBLISHSTREAM_DEVICE_OPEN_ERROR:设备开启失败 SDK_SERVER_ERROR:服务器异常 SDK_NOT_JOIN_ROOM_ERROR:未进入房间 SDK_PUBLISHSTREAM_NO_PERMISSIONS_ERROR:无推双流权限 SDK_PUBLISHSTREAM_CREATEPEERCONNECTION_ERROR:创建通道失败

◆ onRecommendEncodingParam()

abstract void onRecommendEncodingParam ( int  type,
int  mediaIndex,
int  layerIndex,
VideoCodecParam  param 
)
abstract

设置编码参数

参数
type码流类型
mediaIndex同类型码流索引
layerIndexsimulcast分辨率层
param编码参数
注解
仅在用户自定义编码时才会回调

◆ onRelease()

abstract void onRelease ( int  result)
abstract

资源释放回调

参数
result0:成功

◆ onRemoteAudioFrame()

abstract void onRemoteAudioFrame ( String  userId,
int  type,
AudioFrameData  data 
)
abstract

混音后的音频解码数据回调

参数
userId远端用户id
type码流类型(用户音频、平台混音器音频)
data音频数据

◆ onRemoteAudioStatistics()

abstract void onRemoteAudioStatistics ( String  userId,
int  type,
AudioStatistics  state 
)
abstract

远端音频流统计信息回调,进入房间后2s触发一次回调

参数
userId远端用户id
type码流类型(用户音频或混音器音频)
state网络统计信息

◆ onRemoteMixedAudioFrame()

abstract void onRemoteMixedAudioFrame ( AudioFrameData  data)
abstract

混音后的音频解码数据回调

参数
data音频数据

◆ onRemoteUserJoinRoom()

abstract void onRemoteUserJoinRoom ( String  userId,
String  nickName 
)
abstract

远端用户加入房间

参数
userId远端用户id
nickName远端用户别名

◆ onRemoteUserLeaveRoom()

abstract void onRemoteUserLeaveRoom ( String  userId)
abstract

远端用户离开房间

参数
userId远端用户id

◆ onRemoteUserPublishStream()

abstract void onRemoteUserPublishStream ( String  userId,
StreamParam  param 
)
abstract

远端用户发布流

参数
userId远端用户id
param流信息

◆ onRemoteUserUnpublishStream()

abstract void onRemoteUserUnpublishStream ( String  userId,
int  type,
int  mediaIndex 
)
abstract

远端用户取消发布流

参数
userId远端用户id
type码流类型
mediaIndex同类型码流索引

◆ onRemoteVideoData()

abstract void onRemoteVideoData ( String  userId,
int  type,
int  mediaIndex,
EncodedVideoData  data 
)
abstract

远端解码前视频包回调

参数
userId远端用户id
type码流类型
mediaIndex同类型码流索引
data解码前数据

◆ onRemoteVideoFrame()

abstract void onRemoteVideoFrame ( String  userId,
int  type,
int  mediaIndex,
VideoFrameData  data 
)
abstract

远端解码后视频帧回调

参数
userId远端用户id
type码流类型
mediaIndex同类型码流索引
data帧数据

◆ onRemoteVideoStatistics()

abstract void onRemoteVideoStatistics ( String  userId,
int  type,
int  mediaIndex,
VideoStatistics  state 
)
abstract

远端视频流统计信息回调,进入房间后2s触发一次回调

参数
userId远端用户id
type码流类型
mediaIndex同类型码流索引
state网络统计信息

◆ onReplyCall()

abstract void onReplyCall ( boolean  answerOrHanup,
String  roomId,
int  result 
)
abstract

响应平台呼叫回调

参数
answerOrHanuptrue:应答 false:挂断
roomId房间id
result0:应答/挂断成功 SDK_PARAMETER_ERROR:参数错误 SDK_NETWORK_ERROR:网络异常

◆ onRequestKeyFrame()

abstract void onRequestKeyFrame ( String  userId,
int  type,
int  mediaIndex,
int  result 
)
abstract

请求关键帧回调

参数
userId远端用户id
type码流类型
mediaIndex码流索引,音频和辅流填0即可
result0:成功 SDK_PARAMETER_ERROR:参数错误 SDK_UNKNOWN_ERROR:未知错误

◆ onSnapshotVideo()

abstract void onSnapshotVideo ( Bitmap  bitmap,
int  result 
)
abstract

用于接收截图事件结果的上层接口,仅在未开启自定义采集的时候有效

参数
bitmap位图
result结果

◆ onSubscribeStream()

abstract void onSubscribeStream ( String  userId,
int  type,
int  mediaIndex,
int  result 
)
abstract

订阅远端用户流回调

参数
userId用户id
type码流类型
mediaIndex码流索引
result0:成功 SDK_NOT_JOIN_ROOM_ERROR:未进入房间 SDK_SERVER_ERROR:服务器异常 SDK_PARAMETER_ERROR:参数错误 SDK_SUBSCRIBESTREAM_SPEAKER_ERROR:扬声器开启失败

◆ onUnpublishStream()

abstract void onUnpublishStream ( int  type,
int  mediaIndex,
int  result 
)
abstract

取消发布流回调

参数
type码流类型
mediaIndex码流索引
result0:成功 SDK_UNKNOWN_ERROR:未知错误

◆ onUnpublishStreamNotify()

abstract void onUnpublishStreamNotify ( int  type,
int  mediaIndex 
)
abstract

取消发布流通知回调

注解
sdk内部主动停止正在发布的流需通知上层
参数
type码流类型
mediaIndex码流索引,音频和辅流填0即可

◆ onUnsubscribeStream()

abstract void onUnsubscribeStream ( String  userId,
int  type,
int  mediaIndex,
int  result 
)
abstract

取消订阅流回调

参数
userId用户id
type码流类型
mediaIndex码流索引
result0:成功 SDK_SERVER_ERROR:服务器异常 SDK_PARAMETER_ERROR:参数错误

◆ onUpdateStreamLayer()

abstract void onUpdateStreamLayer ( String  userId,
int  type,
int  mediaIndex,
int  layerIndex,
int  result 
)
abstract

设置优先层回调

参数
userId用户id
type码流类型
mediaIndex码流索引
layerIndex码流层数
result0:成功 SDK_SERVER_ERROR:服务器异常 SDK_PARAMETER_ERROR:参数错误 SDK_UNKNOWN_ERROR:未知错误

◆ onWarning()

abstract void onWarning ( int  warningType,
String  content 
)
abstract

警告回调

参数
warningType警告类型
content警告信息