本章节为您介绍了Android SDK回调及监听的接口详情,RTC SDK为您提供了AliRtcEngineEventListener(本地用户行为回调)和AliRtcEngineNotify(远端用户行为回调)。

目录

说明 回调接口都在子线程。

AliRtcEngineEventListener:本地用户行为回调。

API 描述 以上版本支持
onJoinChannelResult 加入频道回调 1.1
onLeaveChannelResult 离开频道回调 1.1
onPublishResult 发布音视频流回调 1.1
onUnpublishResult 停止发布音视频流回调 1.1
onSubscribeResult 订阅回调 1.1
onUnsubscribeResult 取消订阅回调 1.1
onNetworkQualityChanged 网络质量变化时回调 1.1
onOccurWarning 警告回调 1.1
onOccurError 错误回调 1.1
onSubscribeChangedNotify 订阅结果回调 1.1
onBye 被服务器踢出或者频道关闭时回调 1.1
onFirstPacketSent 首帧数据发送成功回调 1.1
onFirstPacketReceived 首包数据接收成功回调 1.13
onConnectionLost 连接断开回调 1.14
onTryToReconnect 重新尝试连接回调 1.14
onConnectionRecovery 连接恢复回调 1.14
onParticipantStatusNotify 远端用户状态改变回调 1.14
onPerformanceLow 当前设备性能不足回调 1.16
onPerformanceRecovery 当前设备性能恢复回调 1.16
onFirstLocalVideoFrameDrawn 本地预览渲染获取到第一帧回调 1.16.2
onAudioPlayingStateChanged 伴奏播放回调 1.16.2
onNetworkQualityProbeTest 网络质量探测回调 1.16.2
AliRtcAudioVolumeObserver 音量回调 1.16.2
onFirstRemoteVideoFrameDrawn 远端预览渲染获取到第一帧回调 1.16.2
onLiveStreamingSignalingResult 低延迟互动直播拉流回调 1.17
onMediaRecordEvent 录制文件和停止录制文件回调 1.17
onAliRtcLocalVideoStats 发布端视频流数据统计回调 1.17
onAliRtcRemoteVideoStats 订阅端视频流数据统计回调 1.17

AliRtcEngineNotify:远端用户行为回调。

API 描述 以上版本支持
onRemoteUserUnPublish 当远端用户停止发布时回调 1.1
onRemoteUserOnLineNotify 远端用户上线回调 1.1
onRemoteUserOffLineNotify 远端用户下线回调 1.1
onRemoteTrackAvailableNotify 远端用户音视频流发生变化时回调 1.1
onAliRtcStats 实时数据回调(2s触发一次) 1.16
onUpdateRoleNotify 用户角色发生改变时回调 1.16

接口详情

  • onJoinChannelResult:加入频道回调。
    void onJoinChannelResult(int result)          
    参数 类型 描述
    result int 0为加入频道成功,非0为失败
  • onLeaveChannelResult:离开频道回调。
    void onLeaveChannelResult(int result)
    参数 类型 描述
    result int 0为离开频道成功,非0为失败
  • onPublishResult:发布音视频流回调。
    void onPublishResult(int result, String publishId)            
    参数 类型 描述
    result int 0为发布成功,非0为失败
    publishId String 流ID
  • onUnpublishResult:停止发布音视频流回调。
    void onUnpublishResult(int result)           
    参数 类型 描述
    result int 0为停止发布成功,非0为失败
  • onSubscribeResult:订阅回调。
    void onSubscribeResult(String uid, int result, AliRtcVideoTrack vt, AliRtcAudioTrack at)          
    参数 类型 描述
    uid String 用户ID
    result int 0表示订阅成功,非0表示失败
    vt AliRtcVideoTrack 订阅成功的视频流
    at AliRtcAudioTrack 订阅成功的音频流
  • onUnsubscribeResult:取消订阅回调。
    void onUnsubscribeResult(int result, String userId)         
    参数 类型 描述
    result int 0表示取消订阅成功,非0表示失败
    userId String 用户ID
  • onNetworkQualityChanged:网络质量变化回调。

    建议在网络质量较差的时候可以在界面上提示用户。

    void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);
    参数 类型 描述
    downQuality AliRtcNetworkQuality 下行网络质量
    upQuality AliRtcNetworkQuality 上行网络质量
    uid String 用户ID
  • onOccurWarning:警告回调。

    目前警告回调可以忽略,不会影响正常使用。

    void onOccurWarning(int warn)                
    参数 类型 描述
    warn int 警告类型
  • onOccurError:错误回调。

    当回调的中参数error0x0102020C0x02010105时,需要先调用leaveChannel,再重新创建SDK实例,调用joinChannel

    void onOccurError(int error)                    
    参数 类型 描述
    error int 错误类型
  • onSubscribeChangedNotify:订阅结果回调。
    void onSubscribeChangedNotify(String uid, AliRtcAudioTrack audioTrack, AliRtcVideoTrack videoTrack)                    
    参数 类型 描述
    uid String 远端用户ID
    audioTrack AliRtcAudioTrack 订阅成功的音频流
    videoTrack AliRtcVideoTrack 订阅成功的视频流
  • onBye:被服务器踢出或者频道关闭时回调。
    void onBye(int code)          
    参数 类型 描述
    code int 消息类型。
    • 1:被服务器踢出
    • 2:频道关闭
    • 3:同一个用户ID在其他端登录,被服务器踢出
  • onFirstPacketSent:首帧数据发送成功回调。
    public void onFirstPacketSent(String callId, String streamLabel, String trackLabel, int timeCost) {
    //首帧数据发送成功
    }
    参数 类型 描述
    callId String 远端callId
    streamLabel String stream标签
    trackLabel String 流的标签
    timeCost int 耗时,单位:ms
  • onFirstPacketReceived:首包数据接收成功。
    void onFirstPacketReceived(String callId, String streamLabel, String trackLabel, int timeCost)
    参数 类型 描述
    callId String 远端callId
    streamLabel String stream标签
    trackLabel String 流的标签
    timeCost int 耗时,单位:ms
  • onConnectionLost:网络连接断开回调。
    void onConnectionLost()
  • onTryToReconnect:重新尝试网络连接回调。
    void onTryToReconnect()
  • onConnectionRecovery:网络连接恢复回调。
    void onConnectionRecovery()
  • onParticipantStatusNotify:远端用户状态改变通知。
    void onParticipantStatusNotify(AliStatusInfo[] status_info_list, int count)
    参数 类型 描述
    status_info_list AliStatusInfo[] 用户状态数组
    count int 数组长度
  • onPerformanceLow:当前设备性能不足。

    void onPerformanceLow();
  • onPerformanceRecovery:当前设备性能恢复。

    void onPermormanceRecovery();
  • onFirstLocalVideoFrameDrawn:本地预览渲染获取到第一帧回调。

    void onFirstLocalVideoFrameDrawn(String uid, AliRtcVideoTrack videoTrack);
    参数 类型 描述
    uid String 用户ID
    videoTrack AliRtcVideoTrack 视频流类型
  • onAudioPlayingStateChanged:伴奏播放回调。

    void onAudioPlayingStateChanged(AliRtcAudioPlayingStatus playStatus, int errorCode);
    参数 类型 描述
    playStatus AliRtcAudioPlayingStatus 当前播放状态
    errorCode int 错误码
  • onNetworkQualityProbeTest:网络质量探测回调。

    void onNetworkQualityProbeTest(AliRtcNetworkQuality networkQuality);
    参数 类型 描述
    networkQuality AliRtcNetworkQuality 网络质量
  • AliRtcAudioVolumeObserver:注册音量回调。

    void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> list, int volume);
    参数 类型 描述
    list List<AliRtcEngine.AliRtcAudioVolume> uid为0表示本地音量,uid有值表示某个远端用户的音量
    volume int 当前远端混音音量
  • onFirstRemoteVideoFrameDrawn:远端预览渲染获取到第一帧回调。

     void onFirstRemoteVideoFrameDrawn(String uid, AliRtcVideoTrack videoTrack);
    参数 类型 描述
    uid String 用户ID
    VideoTrack AliRtcVideoTrack 视频流类型
  • onLiveStreamingSignalingResult:低延迟互动直播拉流回调。

    public void onLiveStreamingSignalingResult(int result)
    参数 类型 描述
    result int 返回0表示成功,返回其他表示失败
  • onMediaRecordEvent:录制文件和停止录制文件回调。

    public void onMediaRecordEvent(int result, String filePath)
    参数 类型 描述
    result int
    • 0:录制开始
    • 1:录制结束
    • 2:打开文件失败
    • 3:写文件失败
    filePath String 录制文件存储路径
  • onAliRtcLocalVideoStats:发布端视频流数据统计回调。

    public void onAliRtcLocalVideoStats(AliRTCLocalVideoStats aliRtcStats)
    参数 类型 描述
    aliRtcStats AliRTCLocalVideoStats 发布端视频流数据
  • onAliRtcRemoteVideoStats:订阅端视频流数据统计回调。

    public void onAliRtcRemoteVideoStats(AliRTCRemoteVideoStats aliRtcStats)
    参数 类型 描述
    aliRtcStats AliRTCRemoteVideoStats 订阅端视频流数据
  • onRemoteUserUnPublish:当远端用户停止发布时回调。
    void onRemoteUserUnPublish(AliRtcEngine rtcEngine, String userId)                 
    参数 类型 描述
    rtcEngine AliRtcEngine AliRtcEngine实例
    userId String 远端用户ID
  • onRemoteUserOnLineNotify:远端用户上线回调。
    void onRemoteUserOnLineNotify(String uid)           

    参数:

    参数 类型 描述
    uid String 远端用户ID
  • onRemoteUserOffLineNotify:远端用户下线回调。
    void onRemoteUserOffLineNotify(String uid)            
    参数 类型 描述
    uid String 远端用户ID
  • onRemoteTrackAvailableNotify:远端用户音视频流发生变化时回调。
    void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack, AliRtcVideoTrack videoTrack)                 
    参数 类型 描述
    uid String 远端用户ID
    audioTrack AliRtcAudioTrack 远端用户发生变化后的音频流
    videoTrack AliRtcVideoTrack 远端用户发生变化后的视频流
  • onAliRtcStats:实时数据回调(2s触发一次)。

    void onAliRtcStats(AliRtcStats stats);
    参数 类型 描述
    stats AliRtcStats 用户实时数据
  • onUpdateRoleNotify:用户角色发生改变时回调。

    void onUpdateRoleNotify(AliRTCSDK_Client_Role old_role , AliRTCSDK_Client_Role new_role);
    参数 类型 描述
    old_role AliRTCSDK_Client_Role 变化前角色
    old_role AliRTCSDK_Client_Role 变化前角色