回调及监听

通过阅读本文,您可以了解Android SDK回调及监听的接口详情。

目录

DingRtcEngineEventListener:回调及监听

API

描述

支持的最低版本

onJoinChannelResult

加入频道回调。

3.0

onLeaveChannelResult

离开频道回调。

3.0

onChannelRemainingTimeNotify

频道剩余时长回调。

3.0

onAudioPublishStateChanged

音频推流变更回调。

3.0

onVideoPublishStateChanged

视频推流变更回调。

3.0

onDualStreamPublishStateChanged

次要流推流变更回调。

3.0

onScreenSharePublishStateChanged

屏幕分享推流变更回调。

3.0

onAudioSubscribeStateChanged

音频订阅情况变更回调。

3.0

onVideoSubscribeStateChanged

相机流订阅情况变更回调。

3.0

onSubscribeStreamTypeChanged

大小流订阅情况变更回调。

3.0

onScreenShareSubscribeStateChanged

屏幕分享流订阅情况变更回调。

3.0

onNetworkQualityChanged

网络质量变化时发出的消息。

3.0

onOccurWarning

警告通知。

3.0

onOccurError

错误通知。

3.0

onPerformanceLow

性能差通知。

3.0

onPermormanceRecovery

性能恢复通知。

3.0

onConnectionLost

网络连接断开。

3.0

onTryToReconnect

尝试重新建立与服务端的连接。

3.0

onConnectionRecovery

恢复与服务端的连接。

3.0

onConnectionStatusChanged

网络连接状态改变。

3.0

onRemoteUserOnLineNotify

远端用户(通信模式)加入频道回调。

3.0

onRemoteUserOffLineNotify

远端用户(通信模式)离开频道回调。

3.0

onRemoteTrackAvailableNotify

远端用户的音视频流发生变化回调。

3.0

onFirstRemoteVideoFrameDrawn

远端用户的第一帧视频帧显示时触发这个消息。

3.0

onRenderRemoteVideoSizeChanged

视频渲染接收到远端视频分辨率有变化时触发此回调。

3.2.1

onRenderLocalVideoSizeChanged

视频渲染接收到本地视频分辨率有变化时触发此回调。

3.2.1

onFirstLocalVideoFrameDrawn

预览开始显示第一帧视频帧时触发这个消息。

3.0

onFirstVideoFrameReceived

收到远端用户视频首帧的回调。

3.0

onFirstVideoPacketSend

视频首包发送回调。

3.0

onFirstAudioPacketSent

音频首包发送回调。

3.0

onFirstVideoPacketReceived

视频首包接收回调。

3.0

onFirstAudioPacketReceived

音频首包接收回调。

3.0

onBye

被服务器踢出/会议结束频道的消息。

3.0

onDingRtcStats

实时数据回调(2s触发一次)。

3.0

onUserAudioMuted

远端用户静音/取消静音回调。

3.0

onUserVideoMuted

远端用户暂停/恢复视频流发送的通知。

3.0

onUserVideoEnabled

远端用户关闭相机流采集发送通知。

3.5

onUserWillResignActive

远端用户应用退到后台

3.5

onUserWillBecomeActive

远端用户应用返回前台

3.5

onMediaRecordEvent

文件录制回调事件。

3.0

onRtcLocalVideoStats

发布视频流的数据统计。

3.0

onRtcRemoteVideoStats

订阅视频流的数据统计。

3.0

onRtcRemoteAudioStats

订阅远端音频流的数据统计。

3.0

onRtcLocalAudioStats

订阅本地音频流。

3.0

onAudioFocusChange

音频焦点变化回调(仅适用于Android平台)。

3.0

onAudioRouteChanged

音频路由发生变化回调(仅适用于Android、iOS平台)。

3.0

onAudioVolumeIndication

远端用户音量提示回调。

3.0

onRecordingDeviceAudioLevel

采集音量提示回调

3.0

onPlayoutDeviceAudioLevel

播放音量提示回调

3.0

onAudioDeviceStateChanged

本地音频设备状态变更。

3.4.1

onVideoDeviceStateChanged

本地视频设备状态变更。

3.4.1

onRemoteVideoResolutionChanged

远端用户视频分辨率变化通知。

3.0

onApiCalledExecuted

API方法已执行回调。

3.0

onSnapshotComplete

截图回调。

3.0

onMediaExtensionMsgReceived

onAudioMixingStateChanged

伴奏混音回调。

3.4

onListAllAudioGroups

返回当前频道内所有的分组列表。

3.4

onAudioGroupJoinResult

当调用joinGroup加入某个group,触发此回调。注意:如果JoinGroup返回非0值,那么不会产生回调。

3.4

onAudioGroupLeaveResult

当调用leaveGroup离开某个group,触发此回调。注意:如果LeaveGroup返回非0值,那么不会产生回调。

3.4

onAudioGroupDismissResult

当调用dismissGroup解散某个group,触发此回调。注意:如果DismissGroup返回非0值,那么不会产生回调。

3.4

onAudioGroupMixResult

当调用mixAudioToGroup向分组或者大厅混流,触发此回调。注意:如果mixAudioToGroup返回非0值,那么不会产生回调。

3.4

onAudioGroupMemberUpdate

分组中成员变化,触发此回调。

3.4

onAudioGroupHallMembers

当前留在大厅中的所有的成员列表。

3.4

onAudioGroupListUpdate

分组列表变化,触发此回调。

3.4

DingRtcVideoObserver:视频数据回调

API

描述

支持的最低版本

onLocalVideoSample

订阅的本地采集视频数据回调。

3.0

onRemoteVideoSample

订阅的远端视频数据回调。

3.0

onPreEncodeVideoFrame

本地编码前视频数据。

3.1

onGetVideoFormatPreference

获取视频数据输出格式。

3.0

DingRtcAudioFrameObserver:音频数据回调

API

描述

支持的最低版本

onCapturedAudioFrame

采集裸数据回调。

3.0

onProcessCapturedAudioFrame

3A后数据回调。

3.0

onPublishAudioFrame

推流数据回调。

3.0

onPlaybackAudioFrame

播放数据回调。

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

    DingRtcStats

    本次频道内会话的数据统计信息。

    重要

    调用 leaveChannel 接口后返回,如果 leaveChannel 后直接调用 destroy 将不会收到此回调。

  • onChannelRemainingTimeNotify: 频道剩余时长回调。

     public void onChannelRemainingTimeNotify (int remainingTimeInSec)

    参数

    类型

    描述

    remainingTimeInSec

    int

    频道剩余时长,单位秒。

  • onAudioPublishStateChanged: 音频推流变更回调。

     public void onAudioPublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    oldState

    DingRtcPublishState

    之前的推流状态。

    newState

    DingRtcPublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onVideoPublishStateChanged: 视频推流变更回调。

     public void onVideoPublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    oldState

    DingRtcPublishState

    之前的推流状态。

    newState

    DingRtcPublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onDualStreamPublishStateChanged: 次要流推流变更回调。

     public void onDualStreamPublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    oldState

    DingRtcPublishState

    之前的推流状态。

    newState

    DingRtcPublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onScreenSharePublishStateChanged: 屏幕分享推流变更回调。

     public void onScreenSharePublishStateChanged (DingRtcPublishState oldState, DingRtcPublishState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    oldState

    DingRtcPublishState

    之前的推流状态。

    newState

    DingRtcPublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onAudioSubscribeStateChanged: 音频订阅情况变更回调。

     public void onAudioSubscribeStateChanged (String uid, DingRtcSubscribeState oldState, DingRtcSubscribeState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    uid

    String

    用户ID。

    oldState

    DingRtcSubscribeState

    之前的订阅状态。

    newState

    DingRtcSubscribeState

    当前的订阅状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onVideoSubscribeStateChanged: 相机流订阅情况变更回调。

     public void onVideoSubscribeStateChanged (String uid, DingRtcSubscribeState oldState, DingRtcSubscribeState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    uid

    String

    用户ID。

    oldState

    DingRtcSubscribeState

    之前的订阅状态。

    newState

    DingRtcSubscribeState

    当前的订阅状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onSubscribeStreamTypeChanged: 大小流订阅情况变更回调。

     public void onSubscribeStreamTypeChanged (String uid, DingRtcVideoStreamType oldStreamType, DingRtcVideoStreamType newStreamType, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    uid

    String

    用户ID。

    oldStreamType

    DingRtcVideoStreamType

    之前的订阅状态。

    newStreamType

    DingRtcVideoStreamType

    当前的订阅状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onScreenShareSubscribeStateChanged: 屏幕分享流订阅情况变更回调。

     public void onScreenShareSubscribeStateChanged (String uid, DingRtcSubscribeState oldState, DingRtcSubscribeState newState, int elapseSinceLastState, String channel)

    参数

    类型

    描述

    uid

    String

    用户ID。

    oldState

    DingRtcSubscribeState

    之前的订阅状态。

    newState

    DingRtcSubscribeState

    当前的订阅状态。

    elapseSinceLastState

    int

    状态变更时间间隔(毫秒)。

    channel

    String

    当前频道。

  • onNetworkQualityChanged: 网络质量变化时发出的消息。

     public void onNetworkQualityChanged (String uid, DingRtcNetworkQuality upQuality, DingRtcNetworkQuality downQuality)

    参数

    类型

    描述

    uid

    String

    用户ID,为空时表示本地用户上下行网络状态。

    upQuality

    DingRtcNetworkQuality

    上行网络状态。

    downQuality

    DingRtcNetworkQuality

    下行网络状态。

    重要

    当网络质量发生变化时触发。

  • 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

    DingRtcConnectionStatus

    连接状态。

    reason

    DingRtcConnectionStatusChangeReason

    连接状态变化原因。

  • 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

    用户离线的原因,详见DingRtcUserOfflineReason

  • onRemoteTrackAvailableNotify: 远端用户的音视频流发生变化回调。

     public void onRemoteTrackAvailableNotify (String uid, DingRtcAudioTrack audioTrack, DingRtcVideoTrack videoTrack)
    • 该回调在以下场景会被触发
    • 当远端用户从未推流变更为推流(包括音频和视频)。
    • 当远端用户从已推流变更为未推流(包括音频和视频)。

    参数

    类型

    描述

    uid

    String

    用户ID,从Appserver分配的唯一标示符。

    audioTrack

    DingRtcAudioTrack

    音频流类型,详见DingRtcAudioTrack

    videoTrack

    DingRtcVideoTrack

    视频流类型,详见DingRtcVideoTrack

    重要

    该回调仅在通信模式用户和互动模式下的主播角色才会触发。

  • onFirstRemoteVideoFrameDrawn: 远端用户的第一帧视频帧显示时触发这个消息。

     public void onFirstRemoteVideoFrameDrawn (String uid, DingRtcVideoTrack videoTrack, int width, int height, int elapsed)

    参数

    类型

    描述

    uid

    String

    用户ID,从Appserver分配的唯一标示符。

    videoTrack

    DingRtcVideoTrack

    屏幕流或者相机流。

    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

    DingRtcVideoTrack

    接收视频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

    DingRtcVideoTrack

    本地视频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

    DingRtcVideoTrack

    接收视频track。

    timeCost

    int

    耗时(毫秒)。

    重要

    该接口用于收到远端用户视频首帧的回调。

  • onFirstVideoPacketSend: 视频首包发送回调。

     public void onFirstVideoPacketSend (DingRtcVideoTrack videoTrack, int timeCost)

    参数

    类型

    描述

    videoTrack

    DingRtcVideoTrack

    发送视频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

    DingRtcVideoTrack

    接收视频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

    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

    DingRtcVideoTrack

    屏幕流或者相机流。

  • 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

    DingRtcLocalVideoStats

    统计信息。

  • onRtcRemoteVideoStats: 订阅视频流的数据统计。

     public void onRtcRemoteVideoStats (DingRtcRemoteVideoStats DingRtcStats)

    参数

    类型

    描述

    DingRtcStats

    DingRtcRemoteVideoStats

    统计信息。

  • onRtcRemoteAudioStats: 订阅远端音频流的数据统计。

     public void onRtcRemoteAudioStats (DingRtcRemoteAudioStats DingRtcStats)

    参数

    类型

    描述

    DingRtcStats

    DingRtcRemoteAudioStats

    统计信息。

  • onRtcLocalAudioStats: 订阅本地音频流。

     public void onRtcLocalAudioStats (DingRtcLocalAudioStats DingRtcStats)

    参数

    类型

    描述

    DingRtcStats

    DingRtcLocalAudioStats

    统计信息。

  • onAudioFocusChange: 音频焦点变化回调(仅适用于Android平台)。

     public void onAudioFocusChange (int focusChange)

    音频焦点变化的结果通知,SDK内部会请求音频焦点,如外部再次使用音频焦点需要在收到SDK改变的回调中再次请求。

    参数

    类型

    描述

    focusChange

    int

    焦点状态类型,取值同android.media.AudioManager焦点类型定义。

  • onAudioRouteChanged: 音频路由发生变化回调(仅适用于Android、iOS平台)。

     public void onAudioRouteChanged (DingRtcAudioRouteType routing)
    • 所谓“音频路由”,是指声音是从手机的扬声器还是从听筒中播放出来,音频路由变化也就是声音的播放位置发生了变化。
    • 当音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
    • 当音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。

    参数

    类型

    描述

    routing

    DingRtcAudioRouteType

    当前使用的音频路由,详情参考DingRtcAudioRouteType

  • onAudioVolumeIndication: 远端用户音量提示回调。

     public void onAudioVolumeIndication (List< DingRtcAudioVolumeInfo > speakers)

    参数

    类型

    描述

    speakers

    DingRtcAudioVolumeInfo

    用户音量信息,详见参考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

    DingRtcVideoTrack

    视频流的类型。

    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

    DingRtcVideoTrack

    截图视频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

    DingRtcAudioFrame

    音频数据。

    重要

    默认关闭,需要通过enableAudioFrameObserver(true,DingRtcAudioSourceCaptured) 开启。

    该接口支持设置采样率、声道数。

    该接口支持读写模式。

    请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。

  • onProcessCapturedAudioFrame: 3A后数据回调。

     public void onProcessCapturedAudioFrame (DingRtcAudioFrame frame)

    参数

    类型

    描述

    frame

    DingRtcAudioFrame

    音频数据。

    重要

    默认关闭,需要通过enableAudioFrameObserver(true,DingRtcAudioSourceCaptured) 开启。

    该接口支持设置采样率、声道数。

    该接口支持读写模式。

    请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。

  • onPublishAudioFrame: 推流数据回调。

     public void onPublishAudioFrame (DingRtcAudioFrame frame)

    参数

    类型

    描述

    frame

    DingRtcAudioFrame

    音频数据。

    重要

    默认关闭,需要通enableAudioFrameObserver(true,DingRtcAudioSourcePublish) 开启。

    该接口支持设置采样率、声道数。

    该接口只支持只读模式。

    请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。

  • onPlaybackAudioFrame: 播放数据回调。

     public void onPlaybackAudioFrame (DingRtcAudioFrame frame)

    参数

    类型

    描述

    frame

    DingRtcAudioFrame

    音频数据。

    重要

    默认关闭,需要通过enableAudioFrameObserver(true,DingRtcAudioSourcePlayback) 开启。

    该接口支持设置采样率、声道数。

    该接口支持读写模式。

    请不要在此回调函数中做任何耗时操作,否则可能导致声音异常。