通过阅读本文,您可以了解Android SDK回调及监听的接口详情。
目录
DingRtcEngineEventListener:回调及监听
API |
描述 |
支持的最低版本 |
加入频道回调。 |
3.0 |
|
离开频道回调。 |
3.0 |
|
频道剩余时长回调。 |
3.0 |
|
音频推流变更回调。 |
3.0 |
|
视频推流变更回调。 |
3.0 |
|
次要流推流变更回调。 |
3.0 |
|
屏幕分享推流变更回调。 |
3.0 |
|
音频订阅情况变更回调。 |
3.0 |
|
相机流订阅情况变更回调。 |
3.0 |
|
大小流订阅情况变更回调。 |
3.0 |
|
屏幕分享流订阅情况变更回调。 |
3.0 |
|
网络质量变化时发出的消息。 |
3.0 |
|
警告通知。 |
3.0 |
|
错误通知。 |
3.0 |
|
性能差通知。 |
3.0 |
|
性能恢复通知。 |
3.0 |
|
网络连接断开。 |
3.0 |
|
尝试重新建立与服务端的连接。 |
3.0 |
|
恢复与服务端的连接。 |
3.0 |
|
网络连接状态改变。 |
3.0 |
|
远端用户(通信模式)加入频道回调。 |
3.0 |
|
远端用户(通信模式)离开频道回调。 |
3.0 |
|
远端用户的音视频流发生变化回调。 |
3.0 |
|
远端用户的第一帧视频帧显示时触发这个消息。 |
3.0 |
|
视频渲染接收到远端视频分辨率有变化时触发此回调。 |
3.2.1 |
|
视频渲染接收到本地视频分辨率有变化时触发此回调。 |
3.2.1 |
|
预览开始显示第一帧视频帧时触发这个消息。 |
3.0 |
|
收到远端用户视频首帧的回调。 |
3.0 |
|
视频首包发送回调。 |
3.0 |
|
音频首包发送回调。 |
3.0 |
|
视频首包接收回调。 |
3.0 |
|
音频首包接收回调。 |
3.0 |
|
被服务器踢出/会议结束频道的消息。 |
3.0 |
|
实时数据回调(2s触发一次)。 |
3.0 |
|
远端用户静音/取消静音回调。 |
3.0 |
|
远端用户暂停/恢复视频流发送的通知。 |
3.0 |
|
远端用户关闭相机流采集发送通知。 |
3.5 |
|
远端用户应用退到后台 |
3.5 |
|
远端用户应用返回前台 |
3.5 |
|
文件录制回调事件。 |
3.0 |
|
发布视频流的数据统计。 |
3.0 |
|
订阅视频流的数据统计。 |
3.0 |
|
订阅远端音频流的数据统计。 |
3.0 |
|
订阅本地音频流。 |
3.0 |
|
音频焦点变化回调(仅适用于Android平台)。 |
3.0 |
|
音频路由发生变化回调(仅适用于Android、iOS平台)。 |
3.0 |
|
远端用户音量提示回调。 |
3.0 |
|
采集音量提示回调 |
3.0 |
|
播放音量提示回调 |
3.0 |
|
本地音频设备状态变更。 |
3.4.1 |
|
本地视频设备状态变更。 |
3.4.1 |
|
远端用户视频分辨率变化通知。 |
3.0 |
|
API方法已执行回调。 |
3.0 |
|
截图回调。 |
3.0 |
|
伴奏混音回调。 |
3.4 |
|
返回当前频道内所有的分组列表。 |
3.4 |
|
当调用joinGroup加入某个group,触发此回调。注意:如果JoinGroup返回非0值,那么不会产生回调。 |
3.4 |
|
当调用leaveGroup离开某个group,触发此回调。注意:如果LeaveGroup返回非0值,那么不会产生回调。 |
3.4 |
|
当调用dismissGroup解散某个group,触发此回调。注意:如果DismissGroup返回非0值,那么不会产生回调。 |
3.4 |
|
当调用mixAudioToGroup向分组或者大厅混流,触发此回调。注意:如果mixAudioToGroup返回非0值,那么不会产生回调。 |
3.4 |
|
分组中成员变化,触发此回调。 |
3.4 |
|
当前留在大厅中的所有的成员列表。 |
3.4 |
|
分组列表变化,触发此回调。 |
3.4 |
DingRtcVideoObserver:视频数据回调
API |
描述 |
支持的最低版本 |
订阅的本地采集视频数据回调。 |
3.0 |
|
订阅的远端视频数据回调。 |
3.0 |
|
本地编码前视频数据。 |
3.1 |
|
获取视频数据输出格式。 |
3.0 |
DingRtcAudioFrameObserver:音频数据回调
API |
描述 |
支持的最低版本 |
采集裸数据回调。 |
3.0 |
|
3A后数据回调。 |
3.0 |
|
推流数据回调。 |
3.0 |
|
播放数据回调。 |
3.0 |
详情
-
onJoinChannelResult: 加入频道回调。
public void onJoinChannelResult (int result, String channel, String userId, int elapsed)
当应用调用 joinChannel 方法时,该回调表示成功/失败加入频道,并且返回频道加入的相关信息以及加入频道耗时。
参数
类型
描述
result
int
0:成功
非0:失败com::ding::rtc::DingRtcErrorCode::ERR_JOIN_BAD_APPID:AppId不存在,请检查入会参数authinfo中appId是否正确。com::ding::rtc::DingRtcErrorCode::ERR_JOIN_INVALID_APPID:AppId已失效,请检查入会参数authinfo中appId是否正确。com::ding::rtc::DingRtcErrorCode::ERR_JOIN_BAD_CHANNEL:频道不存在,请检查入会参数authinfo中channelId是否正确。com::ding::rtc::DingRtcErrorCode::ERR_JOIN_INVALID_CHANNEL:频道已失效,请检查入会参数authinfo中channelId是否正确。com::ding::rtc::DingRtcErrorCode::ERR_JOIN_BAD_TOKEN:token不存在,请检查入会参数authinfo生成算法是否与官网文档一致。com::ding::rtc::DingRtcErrorCode::ERR_JOIN_TIMEOUT:加入频道超时,请检查当前网络是否为弱网或限速。com::ding::rtc::DingRtcErrorCode::ERR_JOIN_ERR_JOIN_BAD_PARAMBAD_CHANNEL:参数错误,请检查入会参数authinfo生成是否存在非法字符,或与官网文档是否一致。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_BAD_APPID:AppId不存在,请检查入会参数authinfo中appId是否正确。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_INVALID_APPID:AppId已失效,请检查入会参数authinfo中appId是否正确。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_BAD_CHANNEL:频道不存在,请检查入会参数authinfo中channelId是否正确。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_INVALID_CHANNEL:频道已失效,请检查入会参数authinfo中channelId是否正确。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_BAD_TOKEN:token不存在,请检查入会参数authinfo生成算法是否与官网文档一致。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_TIMEOUT:加入频道超时,请检查当前网络是否为弱网或限速。
com::ding::rtc::DingRtcErrorCode::ERR_JOIN_ERR_JOIN_BAD_PARAMBAD_CHANNEL:参数错误,请检查入会参数authinfo生成是否存在非法字符,或与官网文档是否一致。
channel
String
加入频道名。
userId
String
用户ID。
elapsed
int
加入频道耗时。
-
onLeaveChannelResult: 离开频道回调。
public void onLeaveChannelResult (int result, DingRtcStats stats)
应用调用 leaveChannel 方法时,该回调表示成功/失败离开频道,回调将会返回离会的result和该频道的基本信息。
参数
类型
描述
result
int
离开频道结果,成功返回0,失败返回错误码。
stats
本次频道内会话的数据统计信息。
重要调用 leaveChannel 接口后返回,如果 leaveChannel 后直接调用 destroy 将不会收到此回调。
-
onChannelRemainingTimeNotify: 频道剩余时长回调。
public void onChannelRemainingTimeNotify (int remainingTimeInSec)
参数
类型
描述
remainingTimeInSec
int
频道剩余时长,单位秒。
-
onAudioPublishStateChanged: 音频推流变更回调。
public void onAudioPublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)
参数
类型
描述
oldState
之前的推流状态。
newState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔(毫秒)。
channel
String
当前频道。
-
onVideoPublishStateChanged: 视频推流变更回调。
public void onVideoPublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)
参数
类型
描述
oldState
之前的推流状态。
newState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔(毫秒)。
channel
String
当前频道。
-
onDualStreamPublishStateChanged: 次要流推流变更回调。
public void onDualStreamPublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)
参数
类型
描述
oldState
之前的推流状态。
newState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔(毫秒)。
channel
String
当前频道。
-
onAudioSubscribeStateChanged: 音频订阅情况变更回调。
public void onAudioSubscribeStateChanged (String uid, DingRtcSubscribeState oldState, DingRtcSubscribeState newState, int elapseSinceLastState, String channel)
参数
类型
描述
uid
String
用户ID。
oldState
之前的订阅状态。
newState
当前的订阅状态。
elapseSinceLastState
int
状态变更时间间隔(毫秒)。
channel
String
当前频道。
-
onVideoSubscribeStateChanged: 相机流订阅情况变更回调。
public void onVideoSubscribeStateChanged (String uid, DingRtcSubscribeState oldState, DingRtcSubscribeState newState, int elapseSinceLastState, String channel)
参数
类型
描述
uid
String
用户ID。
oldState
之前的订阅状态。
newState
当前的订阅状态。
elapseSinceLastState
int
状态变更时间间隔(毫秒)。
channel
String
当前频道。
-
onSubscribeStreamTypeChanged: 大小流订阅情况变更回调。
public void onSubscribeStreamTypeChanged (String uid, DingRtcVideoStreamType oldStreamType, DingRtcVideoStreamType newStreamType, int elapseSinceLastState, String channel)
参数
类型
描述
uid
String
用户ID。
oldStreamType
之前的订阅状态。
newStreamType
当前的订阅状态。
elapseSinceLastState
int
状态变更时间间隔(毫秒)。
channel
String
当前频道。
-
onNetworkQualityChanged: 网络质量变化时发出的消息。
public void onNetworkQualityChanged (String uid, DingRtcNetworkQuality upQuality, DingRtcNetworkQuality downQuality)
参数
类型
描述
uid
String
用户ID,为空时表示本地用户上下行网络状态。
upQuality
上行网络状态。
downQuality
下行网络状态。
重要当网络质量发生变化时触发。
-
onOccurWarning: 警告通知。
public void onOccurWarning (int warn, String message)
如果engine出现warning,通过这个回调通知app。
参数
类型
描述
warn
int
警告类型。
message
String
警告消息。
-
onOccurError: 错误通知。
public void onOccurError (int error, String message)
如果engine出现error,通过这个回调通知app。
参数
类型
描述
error
int
错误类型,参考DingRtcErrorCode。
message
String
错误消息。
-
onPerformanceLow: 性能差通知。
public void onPerformanceLow ()
重要一般在Cpu过热或者过冷导致的降频情况下触发。
-
onPermormanceRecovery: 性能恢复通知。
public void onPermormanceRecovery ()
重要一般在Cpu过热或者过冷导致的降频后,重新恢复正常频率时触发。
-
onConnectionLost: 网络连接断开。
public void onConnectionLost ()
-
onTryToReconnect: 尝试重新建立与服务端的连接。
public void onTryToReconnect ()
-
onConnectionRecovery: 恢复与服务端的连接。
public void onConnectionRecovery ()
-
onConnectionStatusChanged: 网络连接状态改变。
public void onConnectionStatusChanged (DingRtcConnectionStatus status, DingRtcConnectionStatusChangeReason reason)
参数
类型
描述
status
连接状态。
reason
连接状态变化原因。
-
onRemoteUserOnLineNotify: 远端用户(通信模式)加入频道回调。
public void onRemoteUserOnLineNotify (String uid, int elapsed)
- 该回调在以下场景会被触发。
- 通信模式:远端用户加入频道会触发该回调,如果当前用户在加入频道前已有其他用户在频道中,当前用户加入频道后也会收到已加入频道用户的回调。
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
elapsed
int
用户加入频道时的耗时。
重要互动模式下回调行为
主播间可以互相收到加入频道回调。
观众可以收到主播加入频道回调。
主播无法收到观众加入频道回调。
-
onRemoteUserOffLineNotify: 远端用户(通信模式)离开频道回调。
public void onRemoteUserOffLineNotify (String uid, DingRtcUserOfflineReason reason)
- 该回调在以下场景会被触发
- 通信模式:远端用户离开频道会触发该回调。
- 通信模式下,当长时间收不到远端用户数据,超时掉线时,会触发该回调。
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
reason
用户离线的原因,详见DingRtcUserOfflineReason。
-
onRemoteTrackAvailableNotify: 远端用户的音视频流发生变化回调。
public void onRemoteTrackAvailableNotify (String uid, DingRtcAudioTrack audioTrack, DingRtcVideoTrack videoTrack)
- 该回调在以下场景会被触发
- 当远端用户从未推流变更为推流(包括音频和视频)。
- 当远端用户从已推流变更为未推流(包括音频和视频)。
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
audioTrack
音频流类型,详见DingRtcAudioTrack。
videoTrack
视频流类型,详见DingRtcVideoTrack。
重要该回调仅在通信模式用户和互动模式下的主播角色才会触发。
-
onFirstRemoteVideoFrameDrawn: 远端用户的第一帧视频帧显示时触发这个消息。
public void onFirstRemoteVideoFrameDrawn (String uid, DingRtcVideoTrack videoTrack, int width, int height, int elapsed)
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
videoTrack
屏幕流或者相机流。
width
int
视频宽度。
height
int
视频高度。
elapsed
int
本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
重要该接口用于远端用户的第一帧视频帧显示时的回调。
-
onRenderRemoteVideoSizeChanged: 视频渲染接收到远端视频分辨率有变化时触发此回调。
public void onRenderRemoteVideoSizeChanged (String uid, DingRtcVideoTrack videoTrack, int newWidth, int newHeight, int oldWidth, int oldHeight)
参数
类型
描述
uid
String
userId,从Appserver分配的唯一标示符。
videoTrack
接收视频track。
newWidth
int
变化后新的视频宽度
newHeight
int
变化后新的视频高度
oldWidth
int
变化前旧的视频宽度
oldHeight
int
变化前旧的视频高度
重要因为simulcast的存在,以及动态调整分辨率,横竖屏变化,视频大小和远端设置的最大推流分辨率不一定相同。
-
onRenderLocalVideoSizeChanged: 视频渲染接收到本地视频分辨率有变化时触发此回调。
public void onRenderLocalVideoSizeChanged (DingRtcVideoTrack videoTrack, int newWidth, int newHeight, int oldWidth, int oldHeight)
参数
类型
描述
videoTrack
本地视频track。
newWidth
int
变化后新的视频宽度
newHeight
int
变化后新的视频高度
oldWidth
int
变化前旧的视频宽度
oldHeight
int
变化前旧的视频高度
重要视频大小可能和摄像头采集到的视频大小不相等,比如在采集之后存在缩放等处理。
-
onFirstLocalVideoFrameDrawn: 预览开始显示第一帧视频帧时触发这个消息。
public void onFirstLocalVideoFrameDrawn (int width, int height, int elapsed)
参数
类型
描述
width
int
本地预览视频宽度。
height
int
本地预览视频高度。
elapsed
int
从本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
重要该接口用于预览开始显示第一帧视频帧时的回调。
-
onFirstVideoFrameReceived: 收到远端用户视频首帧的回调。
public void onFirstVideoFrameReceived (String uid, DingRtcVideoTrack videoTrack, int timeCost)
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
videoTrack
接收视频track。
timeCost
int
耗时(毫秒)。
重要该接口用于收到远端用户视频首帧的回调。
-
onFirstVideoPacketSend: 视频首包发送回调。
public void onFirstVideoPacketSend (DingRtcVideoTrack videoTrack, int timeCost)
参数
类型
描述
videoTrack
发送视频track。
timeCost
int
耗时(毫秒)。
重要该接口用于视频首包发送的回调。
-
onFirstAudioPacketSent: 音频首包发送回调。
public void onFirstAudioPacketSent (String uid, int timeCost)
在首个音频数据包发送出去时触发此回调。
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标识符。
timeCost
int
发送耗时,从入会开始到音频首包发送出去的耗时。
-
onFirstVideoPacketReceived: 视频首包接收回调。
public void onFirstVideoPacketReceived (String uid, DingRtcVideoTrack videoTrack, int timeCost)
参数
类型
描述
uid
String
远端用户ID,从Appserver分配的唯一标示符。
videoTrack
接收视频track。
timeCost
int
耗时(毫秒)。
重要该接口用于视频首包接收的回调
-
onFirstAudioPacketReceived: 音频首包接收回调。
public void onFirstAudioPacketReceived (String uid, int timeCost)
在接收到远端首个音频数据包时触发此回调。
参数
类型
描述
uid
String
远端用户ID,从Appserver分配的唯一标识符。
timeCost
int
接收耗时,从入会开始到音频首包接收到的耗时。
-
onBye: 被服务器踢出/会议结束频道的消息。
public void onBye (int code)
参数
类型
描述
code
int
原因参考DingRtcOnByeType。
-
onDingRtcStats: 实时数据回调(2s触发一次)。
public void onDingRtcStats (DingRtcStats DingRtcStats)
参数
类型
描述
DingRtcStats
统计信息。
-
onUserAudioMuted: 远端用户静音/取消静音回调。
public void onUserAudioMuted (String uid, boolean isMute)
参数
类型
描述
uid
String
远端用户ID。
isMute
boolean
该用户是否静音。
true:静音。
false:取消静音。
-
onUserVideoMuted: 远端用户暂停/恢复视频流发送的通知。
public void onUserVideoMuted (String uid, boolean isMute, DingRtcVideoTrack track)
参数
类型
描述
uid
String
远端用户ID。
isMute
boolean
true:该用户暂停视频流的发送。
false:该用户恢复视频流的发送。
track
屏幕流或者相机流。
-
onUserVideoEnabled: 远端用户关闭相机流采集发送通知。
public void onUserVideoEnabled (String uid, boolean enabled)
参数
类型
描述
uid
String
远端用户ID。
enabled
boolean
true:打开相机流采集。
false:关闭相机流采集。
-
onUserWillResignActive: 远端用户应用退到后台
public void onUserWillResignActive (String uid)
参数
类型
描述
uid
String
远端用户ID
-
onUserWillBecomeActive: 远端用户应用返回前台
public void onUserWillBecomeActive (String uid)
参数
类型
描述
uid
String
远端用户ID
-
onMediaRecordEvent: 文件录制回调事件。
public void onMediaRecordEvent (int event, String filePath)
参数
类型
描述
event
int
录制事件,0:录制开始,1:录制结束,2:打开文件失败,3:写文件失败。
filePath
String
录制文件路径。
重要该接口用于文件录制时的事件回调。
-
onRtcLocalVideoStats: 发布视频流的数据统计。
public void onRtcLocalVideoStats (DingRtcLocalVideoStats DingRtcStats)
参数
类型
描述
DingRtcStats
统计信息。
-
onRtcRemoteVideoStats: 订阅视频流的数据统计。
public void onRtcRemoteVideoStats (DingRtcRemoteVideoStats DingRtcStats)
参数
类型
描述
DingRtcStats
统计信息。
-
onRtcRemoteAudioStats: 订阅远端音频流的数据统计。
public void onRtcRemoteAudioStats (DingRtcRemoteAudioStats DingRtcStats)
参数
类型
描述
DingRtcStats
统计信息。
-
onRtcLocalAudioStats: 订阅本地音频流。
public void onRtcLocalAudioStats (DingRtcLocalAudioStats DingRtcStats)
参数
类型
描述
DingRtcStats
统计信息。
-
onAudioFocusChange: 音频焦点变化回调(仅适用于Android平台)。
public void onAudioFocusChange (int focusChange)
音频焦点变化的结果通知,SDK内部会请求音频焦点,如外部再次使用音频焦点需要在收到SDK改变的回调中再次请求。
参数
类型
描述
focusChange
int
焦点状态类型,取值同android.media.AudioManager焦点类型定义。
-
onAudioRouteChanged: 音频路由发生变化回调(仅适用于Android、iOS平台)。
public void onAudioRouteChanged (DingRtcAudioRouteType routing)
- 所谓“音频路由”,是指声音是从手机的扬声器还是从听筒中播放出来,音频路由变化也就是声音的播放位置发生了变化。
- 当音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
- 当音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
参数
类型
描述
routing
当前使用的音频路由,详情参考DingRtcAudioRouteType。
-
onAudioVolumeIndication: 远端用户音量提示回调。
public void onAudioVolumeIndication (List< DingRtcAudioVolumeInfo > speakers)
参数
类型
描述
speakers
用户音量信息,详见参考DingRtcEngine.DingRtcAudioVolumeInfo,如果speakers为空,则表示远端用户不发流或没有远端用户。uid为"0"表示本地说话人。
-
onRecordingDeviceAudioLevel: 采集音量提示回调
public void onRecordingDeviceAudioLevel (int level)
参数
类型
描述
level
int
音量值[0,100]
-
onPlayoutDeviceAudioLevel: 播放音量提示回调
public void onPlayoutDeviceAudioLevel (int level)
参数
类型
描述
level
int
音量值[0,100]
-
onAudioDeviceStateChanged: 本地音频设备状态变更。
public void onAudioDeviceStateChanged (String id, int type, int state)
参数
类型
描述
id
String
设备id。
type
int
设备类型。0表示麦克风,1表示扬声器。
state
int
设备状态。0表示插入设备,1表示移除设备。
-
onVideoDeviceStateChanged: 本地视频设备状态变更。
public void onVideoDeviceStateChanged (String id, int type, int state)
参数
类型
描述
id
String
设备id。可能为空。
type
int
设备类型。当前仅支持摄像头(2)。
state
int
设备状态。0表示插入设备,1表示移除设备。
-
onRemoteVideoResolutionChanged: 远端用户视频分辨率变化通知。
public void onRemoteVideoResolutionChanged (String uId, DingRtcVideoTrack videoTrack, int oldWidth, int oldHeight, int newWidth, int newHeight)
参数
类型
描述
uId
String
远端用户ID,从Appserver分配的唯一标识符。
videoTrack
视频流的类型。
oldWidth
int
视频分辨率变化前的宽。
oldHeight
int
视频分辨率变化前的高。
newWidth
int
视频分辨率变化后的宽。
newHeight
int
视频分辨率变化后的高。
-
onApiCalledExecuted: API方法已执行回调。
public void onApiCalledExecuted (int error, String api, String result)
参数
类型
描述
error
int
当该方法调用失败时SDK返回的错误码。如果该方法调用成功,SDK将返回0。失败,非0。
api
String
SDK执行的API。
result
String
SDK调用API的调用结果。
-
onSnapshotComplete: 截图回调。
public void onSnapshotComplete (String uid, DingRtcVideoTrack track, String path, boolean success)
参数
类型
描述
uid
String
用户id。
track
截图视频track。
path
String
截图图像保存路径。
success
boolean
截图是否成功。
重要该接口用于截图回调。
-
onMediaExtensionMsgReceived:
public void onMediaExtensionMsgReceived (String uid, byte[]message)
收到媒体扩展信息回调
参数
类型
描述
uid
String
用户ID,媒体信息发送用户的ID
message
byte[]
媒体扩展信息
重要当一端通过 sendMediaExtensionMsg 发送信息后,其他端通过该回调接收数据
-
onAudioMixingStateChanged: 伴奏混音回调。
public void onAudioMixingStateChanged (DingRtcEngine.DingRtcAudioMixingStatusConfig status)
参数
类型
描述
status
DingRtcEngine.DingRtcAudioMixingStatusConfig
伴奏混音状态,详细参考DingRtcEngine.DingRtcAudioMixingStatusConfig。
重要该接口用于伴奏混音状态监控。
-
onListAllAudioGroups: 返回当前频道内所有的分组列表。
public void onListAllAudioGroups (List< String > groups)
参数
类型
描述
groups
List< String >
分组列表。
重要该回调发生在加入频道的时候。App通过该回调可以获得当前频道内所有的分组。后续分组变化,通过回调onAudioGroupListUpdate获得。
-
onAudioGroupJoinResult: 当调用joinGroup加入某个group,触发此回调。注意:如果JoinGroup返回非0值,那么不会产生回调。
public void onAudioGroupJoinResult (int result, String errMsg, String group, List< DingRtcEngine.DingRtcAudioGroupMember > members)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errMsg
String
如果result不为0,补充说明错误原因。
group
String
加入的group。
members
List< DingRtcEngine.DingRtcAudioGroupMember >
该group的成员用户列表。
-
onAudioGroupLeaveResult: 当调用leaveGroup离开某个group,触发此回调。注意:如果LeaveGroup返回非0值,那么不会产生回调。
public void onAudioGroupLeaveResult (int result, String errMsg, String group)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errMsg
String
如果result不为0,补充说明错误原因。
group
String
离开的group。
-
onAudioGroupDismissResult: 当调用dismissGroup解散某个group,触发此回调。注意:如果DismissGroup返回非0值,那么不会产生回调。
public void onAudioGroupDismissResult (int result, String errMsg, String group)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errMsg
String
如果result不为0,补充说明错误原因。
group
String
解散的group。
-
onAudioGroupMixResult: 当调用mixAudioToGroup向分组或者大厅混流,触发此回调。注意:如果mixAudioToGroup返回非0值,那么不会产生回调。
public void onAudioGroupMixResult (String group, boolean mix, int result, String reason)
参数
类型
描述
groupId
目标分组。如果是HALL_ID,则表示目标为大厅的音频,否则是普通分组的ID。非空。
mix
boolean
true表示将本地音频流混进指定的channelaudio或者分组音频中;false表示取消。
result
int
0表示成功,其他值表示失败。
reason
String
如果result不为0,用该字符串解释失败的原因。
-
onAudioGroupMemberUpdate: 分组中成员变化,触发此回调。
public void onAudioGroupMemberUpdate (int updateOpt, String group, List< DingRtcEngine.DingRtcAudioGroupMember > members)
参数
类型
描述
updateOpt
int
1表示新增成员列表,-1表示离开的成员列表。
group
String
该回调发生的分组。
members
List< DingRtcEngine.DingRtcAudioGroupMember >
变动的成员列表。
-
onAudioGroupHallMembers: 当前留在大厅中的所有的成员列表。
public void onAudioGroupHallMembers (List< DingRtcEngine.DingRtcAudioGroupMember > hallMembers)
参数
类型
描述
hallMembers
List< DingRtcEngine.DingRtcAudioGroupMember >
大厅中的成员列表。
重要留在大厅是指不在任何分组中。如果加入某个分组,意味着离开了大厅;从所有分组中离开,意味着回到了大厅。
-
onAudioGroupListUpdate: 分组列表变化,触发此回调。
public void onAudioGroupListUpdate (int updateOpt, String group)
参数
类型
描述
updateOpt
int
1表示新增的分组,-1表示删除的分组。
group
String
该回调指示的分组。
-
onLocalVideoSample: 订阅的本地采集视频数据回调。
public boolean onLocalVideoSample (DingRtcEngine.DingRtcVideoSourceType sourceType, DingRtcEngine.DingRtcVideoSample videoSample)
参数
类型
描述
sourceType
DingRtcEngine.DingRtcVideoSourceType
视频流类型。
videoSample
DingRtcEngine.DingRtcVideoSample
视频裸数据。
返回说明
- true: 需要写回SDK(默认写回,需要操作DingRtcVideoSample.data时必须要写回);
- false: 不需要写回SDK(需要直接操作DingRtcVideoSample.dataFrameY、DingRtcVideoSample.dataFrameU、DingRtcVideoSample.dataFrameV时使用)。
-
onRemoteVideoSample: 订阅的远端视频数据回调。
public boolean onRemoteVideoSample (String callId, DingRtcEngine.DingRtcVideoSourceType sourceType, DingRtcEngine.DingRtcVideoSample videoSample)
参数
类型
描述
callId
String
用户ID。
sourceType
DingRtcEngine.DingRtcVideoSourceType
视频流类型。
videoSample
DingRtcEngine.DingRtcVideoSample
视频裸数据。
返回说明
- true:需要写回SDK(默认写回,需要操作DingRtcVideoSample.data时必须要写回);
- false:不需要写回SDK(需要直接操作DingRtcVideoSample.dataFrameY、DingRtcVideoSample.dataFrameU、DingRtcVideoSample.dataFrameV时使用)。
-
onPreEncodeVideoFrame: 本地编码前视频数据。
public boolean onPreEncodeVideoFrame (DingRtcEngine.DingRtcVideoSourceType sourceType, DingRtcEngine.DingRtcVideoSample videoSample)
参数
类型
描述
sourceType
DingRtcEngine.DingRtcVideoSourceType
视频流类型。
videoSample
DingRtcEngine.DingRtcVideoSample
视频裸数据。
返回说明
- true:需要写回SDK(默认写回,需要操作DingRtcVideoSample.data时必须要写回);
- false:不需要写回SDK(需要直接操作DingRtcVideoSample.dataFrameY、DingRtcVideoSample.dataFrameU、DingRtcVideoSample.dataFrameV时使用)。
-
onGetVideoFormatPreference: 获取视频数据输出格式。
public onGetVideoFormatPreference ()
返回说明
视频数据输出格式。
-
onCapturedAudioFrame: 采集裸数据回调。
public void onCapturedAudioFrame (DingRtcAudioFrame frame)
参数
类型
描述
frame
音频数据。
重要默认关闭,需要通过enableAudioFrameObserver(true,DingRtcAudioSourceCaptured) 开启。
该接口支持设置采样率、声道数。
该接口支持读写模式。
请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。
-
onProcessCapturedAudioFrame: 3A后数据回调。
public void onProcessCapturedAudioFrame (DingRtcAudioFrame frame)
参数
类型
描述
frame
音频数据。
重要默认关闭,需要通过enableAudioFrameObserver(true,DingRtcAudioSourceCaptured) 开启。
该接口支持设置采样率、声道数。
该接口支持读写模式。
请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。
-
onPublishAudioFrame: 推流数据回调。
public void onPublishAudioFrame (DingRtcAudioFrame frame)
参数
类型
描述
frame
音频数据。
重要默认关闭,需要通enableAudioFrameObserver(true,DingRtcAudioSourcePublish) 开启。
该接口支持设置采样率、声道数。
该接口只支持只读模式。
请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。
-
onPlaybackAudioFrame: 播放数据回调。
public void onPlaybackAudioFrame (DingRtcAudioFrame frame)
参数
类型
描述
frame
音频数据。
重要默认关闭,需要通过enableAudioFrameObserver(true,DingRtcAudioSourcePlayback) 开启。
该接口支持设置采样率、声道数。
该接口支持读写模式。
请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。