本文档为您介绍了Android SDK回调及监听的接口详情,AliRtcSDK为您提供了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 warning回调 1.1
onOccurError error回调 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

AliRtcEngineNotify:远端用户行为回调。

API 描述 以上版本支持
onRemoteUserUnPublish 当远端用户停止发布时回调 1.1
onRemoteUserOnLineNotify 远端用户上线回调 1.1
onRemoteUserOffLineNotify 远端用户下线回调 1.1
onRemoteTrackAvailableNotify 远端用户音视频流发生变化时回调 1.1

接口详情

  • 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,从App server分配的唯一标示符。
    result int 0表示订阅成功,非0表示失败。
    vt AliRtcVideoTrack 订阅成功的视频流。
    at AliRtcAudioTrack 订阅成功的音频流。
  • onUnsubscribeResult:取消订阅回调。
    void onUnsubscribeResult(int result, String userId)         

    参数:

    参数 类型 描述
    result int 0表示取消订阅成功,非0表示失败。
    userId String 用户ID,从App server分配的唯一标示符。
  • onNetworkQualityChanged:网络状况变化时回调。

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

    void onNetworkQualityChanged(AliRtcNetworkQuality quality)                 

    参数:

    参数 类型 描述
    quality AliRtcNetworkQuality 网络状况。
  • onOccurWarning:warning回调。

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

    void onOccurWarning(int warn)                

    参数:

    参数 类型 描述
    warn int 警告类型。
  • onOccurError:error回调。

    当回调的中参数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:同一个userId在其他端登录,被服务器踢出。
  • 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 数组长度。
  • 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 远端用户发生变化后的视频流。