回调函数

本文介绍音视频通话 API 在接入 Android 时涉及的回调函数。

回调类型

函数

说明

全局错误事件

void onError(int errorCode, String errorMessage, Bundle extra );

SDK 不可恢复的错误,一定要监听,并根据不同情况有适当的界面提示。仅包含全局错误,不包括发布和订阅发生的错误。

房间事件

void onRoomInfo( RoomInfo info );

创建房间成功的回调,包含房间信息,如果房间创建失败,则通过 onError 回调对应的错误。

void onEnterRoom( int result );

加入房间的回调,0 为成功,非 0 为失败,详情请参见 错误码

void onLeaveRoom( int result );

退出房间回调,0 为成功,非 0 为失败,详情请参见 错误码

void onRecordInfo( String recordId )

录制结果的回调,返回录制 ID,通过该 ID 可以使用额外的查询接口进行录制文件操作。

预览事件

void onCameraPreviewInfo(ARTVCView view );

预览成功的回调,返回一个 view,业务可以将该 view 布局到界面上进行展示。如果预览失败,则通过 onError 返回错误信息。

void onCameraPreviewFirstFrame();

预览首帧的回调。

void onCameraPreviewStop();

预览结束的回调。

发布订阅事件

void onPublishEvent(PublishConfig config, PublishEventCode eventCode, String eventDetail, FeedInfo feedInfo );

发布相关事件的通知,业务调用 publish 发布接口后,相关的结果从这里通知出去。

void onUnpublishEvent( UnpublishConfig config, PublishEventCode eventCode, String eventDetail );

取消发布事件的通知,业务调用 unpublish 取消发布接口后,相关的结果从这里通知出去。

void onSubscribeEvent(FeedInfo feedInfo, SubscribeEventCode eventCode, String eventDetail, ARTVCView view );

订阅事件的通知,业务调用 subscribe 订阅接口后,相关的结果从这里通知出去。渲染视频的 view 将从后续的第一帧数据的回调通知中返回。

void onUnsubscribeEvent( FeedInfo feedInfo, SubscribeEventCode eventCode, String eventDetail );

取消订阅事件通知,当用户调用 unsubscribe 取消订阅某路媒体流时,相关结果从这里通知出去。

房间成员事件

void onParticipantsEnter( List infos );

用户进入房间的通知。有新用户加入房间后,会将该用户的信息推送给房间的其他用户。同时,新用户也会通过该通知收到房间其他成员的信息。

void onParticipantsLeave(List<ParticipantLeaveInfo>uidList );

用户退出房间的通知。有用户退出房间时,会将该信息推送给房间的其他用户。

void onPublishNotify(FeedInfo publisherInfo );

用户新发布的通知。

void onUnpublishNotify(FeedInfo publisherInfo );

用户取消发布的通知。

void onSubscribeNotify(FeedInfo publisherInfo, ParticipantInfo subscriberInfo );

用户订阅的通知。

void onUnsubscribeNotify(FeedInfo publisherInfo, ParticipantInfo subscribeInfo );

用户取消订阅的通知。

视频开始渲染事件

void onRemoteViewFirstFrame( FeedInfo publisherInfo, ARTVCView view );

订阅的视频流开始渲染通知事件。

void onRemoteViewStop( FeedInfo feedInfo, ARTVCView view );

订阅的视频流停止渲染通知事件。

当前网络状态

void onCurrentNetworkType( int type );

手机当前网络状态,当手机网络状态有变化的时候,会通过该回调通知到上层。同时,在用户通过 setRtcListenerAndHandler 接口设置整体回调的时候,也会通过该接口通知业务当前网络类型。

void onBandwidthImportanceChangeNotify( boolean isLow, double currentBandwidth, FeedInfo feedInfo );

带宽变化通知,当带宽从正常变化到弱网,或者从弱网重新回到正常时,会回调该通知。

当前音频输出模式

void onCurrentAudioPlayoutMode( int mode );

手机当前声音输出模式,当手机声音输出模式有变化的时候,会通过该回调通知到上层。同时,在用户通过 setRtcListenerAndHandler 接口设置整体回调的时候,也会通过该接口通知业务当前声音输出模式。

截帧结果回调

void onSnapShotComplete( Bitmap image, FeedInfo feedInfo );

执行截帧后,在获取到结果后,会通过该回调通知。

调试信息回调

void onStatisticDebugInfo(StatisticInfoForDebug infoForDebug, FeedInfo feedInfo );

调试统计信息。

void onRealTimeStatisticInfo( RealTimeStatisticReport report, FeedInfo feedInfo );

调试实时质量信息。

文本交互回调

void onMsgReceive(Msg4Receive msg4Receive);

接收到文本信息,详情请参见 重要参数

void onMsgSend( int error, String errorMessage, long msgId );

文本发送结果。

邀请交互回调

void onInviteResponse( String inviteTaskId, int code, String msg );

发送邀请的结果,code 值为 0 时则发送成功。在 AlipayRtcEngineInviteListener 中,如果不使用邀请功能,可以不用设置和关注。

void onReplyResponse( String inviteTaskId, int code, String msg );

回复邀请的结果,code 值为 0 时则回复成功。在 AlipayRtcEngineInviteListener 中,如果不使用邀请功能,可以不用设置和关注。

void onReplyOfInviteNotify(ReplyOfInviteInfo replyInfo );

发送邀请之后,对方回复的结果,可以是接受或者拒绝之类的结果,详情请参见 重要参数。在 AlipayRtcEngineInviteListener 中,如果不使用邀请功能,可以不用设置和关注。

自定义推流图像本地预览 view 交互回调

void onCustomPublishPreviewInfo(PublishVideoSource videoSource, ARTVCView view );

自定义推流的本地预览 view,通过 videoSource 区分视频源。在 AlipayRtcEngineCustomPublishListener 中,如果不使用自定义推流和屏幕共享,可以不用设置和关注它。

void onCustomPublishPreviewFirstFrame( PublishVideoSource videoSource );

自定义推流的本地预览的第一帧显示事件,通过 videoSource 区分视频源。在 AlipayRtcEngineCustomPublishListener 中,如果不使用自定义推流和屏幕共享,可以不用设置和关注。

void onCustomPublishPreviewStop( PublishVideoSource videoSource );

自定义推流的本地预览停止显示事件,通过 videoSource 区分视频源。在 AlipayRtcEngineCustomPublishListener 中,如果不使用自定义推流和屏幕共享,可以不用设置和关注。

onError

  • 声明void onError(int errorCode, String errorMessage, Bundle extra );

  • 说明:错误回调,SDK 不可恢复的错误,必须监听,并按不同的回调结果给用户不同的界面提示。仅包含全局错误,不包括发布和订阅发生的错误。

  • 参数

    参数

    类型

    说明

    errorCode

    int

    错误码,更多信息请参见 错误码

    errorMessage

    String

    错误信息。

    extra

    Bundle

    扩展信息字段,个别错误码可能会带额外的信息帮助定位问题。

  • 返回值:无。

onRoomInfo

  • 声明void onRoomInfo( RoomInfo info );

  • 说明:创建房间成功回调,包含房间信息。如果房间创建失败,则通过 onError 回调对应的错误。

  • 参数

    参数

    类型

    说明

    info

    RoomInfo

    房间信息,详情请参见 重要参数

  • 返回值:无。

onEnterRoom

  • 声明void onEnterRoom( int result );

  • 说明:加入房间的回调,0 为成功,非 0 为失败,详情请参见 错误码

  • 参数

    参数

    类型

    说明

    result

    int

    返回结果,0 为成功,非 0 为失败,更多信息请参见 错误码

  • 返回值:无。

onLeaveRoom

  • 声明void onLeaveRoom( int result );

  • 说明:退出房间的回调,0 为成功,非 0 为失败,详情请参见 错误码

  • 参数

    参数

    类型

    说明

    result

    int

    返回结果,0 为成功,非 0 为失败,更多信息请参见 错误码

  • 返回值:无。

onRecordInfo

  • 声明void onRecordInfo( String recordId );

  • 说明:录制结果的回调,返回录制 ID,通过该 ID 可以使用额外的查询接口进行录制文件操作。

  • 参数

    参数

    类型

    说明

    recordId

    String

    录制 ID。

  • 返回值:无。

onCameraPreviewInfo

  • 声明void onCameraPreviewInfo(ARTVCView view );

  • 说明:预览成功的回调,返回一个 view,业务可以将该 view 布局到界面上进行展示。如果预览失败,则通过 onError 返回错误信息。

  • 参数

    参数

    类型

    说明

    view

    ARTVCView

    视频渲染控件。

  • 返回值:无。

onCameraPreviewFirstFrame

  • 声明void onCameraPreviewFirstFrame();

  • 说明:预览首帧的回调。

  • 参数:无。

  • 返回值:无。

onCameraPreviewStop

  • 声明void onCameraPreviewStop();

  • 说明:预览结束的回调。

  • 参数:无。

  • 返回值:无。

onPublishEvent

  • 声明void onPublishEvent(PublishConfig config, PublishEventCode eventCode, String eventDetail, FeedInfo feedInfo );

  • 说明:发布相关事件的通知,业务调用 publish 发布接口后,相关的结果从这里通知出去。

  • 参数

    参数

    类型

    说明

    config

    PublishConfig

    本次发布的配置信息。

    eventCode

    PublishEventCode

    事件码,详情请参见 重要参数

    eventDetail

    String

    事件信息。

    feedInfo

    FeedInfo

    可以正常发布时,返回这个发布的 feedInfo 信息,即当 eventCode == PUBLISH_START 时,返回 feedInfo 信息,其它情况则返回 null。

  • 返回值:无。

onUnpublishEvent

  • 声明void onUnpublishEvent( UnpublishConfig config, PublishEventCode eventCode, String eventDetail );

  • 说明:取消发布事件的通知,业务调用 unpublish 取消发布接口后,相关的结果从这里通知出去。

  • 参数

    参数

    类型

    说明

    config

    UnpublishConfig

    本次取消发布的配置信息。

    eventCode

    PublishEventCode

    事件码,详情请参见 重要参数

    eventDetail

    String

    事件信息。

  • 返回值:无。

onSubscribeEvent

  • 声明void onSubscribeEvent(FeedInfo feedInfo, SubscribeEventCode eventCode, String eventDetail, ARTVCView view );

  • 说明:订阅事件的通知,业务调用 subscribe 订阅接口后,相关的结果从这里通知出去。渲染视频的 view 将从后续的第一帧数据的回调通知中返回。

  • 参数

    参数

    类型

    说明

    feedInfo

    FeedInfo

    被订阅流的发布者信息,包含发布者 ID 和对应的流 ID 信息,详情请参见 重要参数

    eventCode

    SubscribeEventCode

    事件码,详情请参见 重要参数

    eventDetail

    String

    事件信息。

    view

    ARTVCView

    为 null。

  • 返回值:无。

onUnsubscribeEvent

  • 声明void onUnsubscribeEvent( FeedInfo feedInfo, SubscribeEventCode eventCode, String eventDetail );

  • 说明:取消订阅事件的通知,当用户调用 unsubscribe 取消订阅某路媒体流时,相关结果从这里通知出去。

  • 参数

    参数

    类型

    说明

    feedInfo

    FeedInfo

    被订阅流的发布者信息,包含发布者 ID 和对应的流 ID 信息,详情请参见 重要参数

    eventCode

    SubscribeEventCode

    事件码,详情请参见 重要参数

    eventDetail

    String

    事件信息。

  • 返回值:无。

onParticipantsEnter

  • 声明void onParticipantsEnter( List infos );

  • 说明:用户进入房间的通知。有新用户加入房间后,会将该用户的信息推送给房间的其他用户,同时新用户也会通过该通知收到房间其他成员的信息。

  • 参数

    参数

    类型

    说明

    infos

    List

    成员数组信息,每个成员包含成员 ID,该成员所有的发布流和该成员所有的订阅流,详情请参见 重要参数

  • 返回值:无。

onParticipantsLeave

  • 声明void onParticipantsLeave( List<ParticipantLeaveInfo> uidList);

  • 说明:用户退出房间的通知。有用户退出房间时,会将该信息推送给房间的其他用户。

  • 参数

    参数

    类型

    说明

    uidList

    List<ParticipantLeaveInfo>

    成员 uid 数组信息。

  • 返回值:无。

onPublishNotify

  • 声明void onPublishNotify(FeedInfo publisherInfo );

  • 说明:用户新发布的通知。

  • 参数

    参数

    类型

    说明

    publisherInfo

    FeedInfo

    新发布流的信息,包含发布者的 ID 和对应新发布流的流 ID 信息,详情请参见 重要参数

  • 返回值:无。

onUnpublishNotify

  • 声明void onUnpublishNotify(FeedInfo publisherInfo );

  • 说明:用户取消发布的通知。

  • 参数

    参数

    类型

    说明

    publisherInfo

    FeedInfo

    取消发布流的信息,包含发布者的 ID 和对应取消发布流的流 ID 信息,详情请参见 重要参数

  • 返回值:无。

onSubscribeNotify

  • 声明void onSubscribeNotify(FeedInfo publisherInfo, ParticipantInfo subscriberInfo );

  • 说明:用户订阅的通知。

  • 参数

    参数

    类型

    说明

    publisherInfo

    FeedInfo

    被订阅流的发布者信息,包含发布者 ID 和对应的流 ID 信息,详情请参见 重要参数

    subscribeInfo

    ParticipantInfo

    订阅者的 uid 信息。

  • 返回值:无。

onUnsubscribeNotify

  • 声明void onUnsubscribeNotify(FeedInfo publisherInfo, ParticipantInfo subscribeInfo );

  • 说明:用户取消订阅的通知。

  • 参数

    参数

    类型

    说明

    publisherInfo

    FeedInfo

    被订阅流的发布者信息,包含发布者 ID 和对应的流 ID 信息,详情请参见 重要参数

    subscribeInfo

    ParticipantInfo

    订阅者 uid 信息。

  • 返回值:无。

onRemoteViewFirstFrame

  • 声明void onRemoteViewFirstFrame( FeedInfo publisherInfo );

  • 说明:订阅的视频流开始渲染的通知事件。

  • 参数

    参数

    类型

    说明

    publisherInfo

    FeedInfo

    被订阅流的发布者信息,包含发布者 ID 和对应的流 ID 信息,详情请参见 重要参数

  • 返回值:无。

onRemoteViewStop

  • 声明void onRemoteViewStop( FeedInfo feedInfo, ARTVCView view );

  • 说明:订阅的视频流停止渲染的通知事件。

  • 参数

    参数

    类型

    说明

    feedInfo

    FeedInfo

    被订阅流的发布者信息,包含发布者ID 和对应的流 ID 信息,详情请参见 重要参数

    view

    ARTVCView

    对应视频渲染的 view。

  • 返回值:无。

onCurrentNetworkType

  • 声明void onCurrentNetworkType( int type );

  • 说明:手机当前网络状态。当手机网络状态有变化时,会通过该回调通知到上层。同时,在用户通过 setRtcListenerAndHandler 接口设置整体回调的时候,也会通过该接口通知业务当前网络类型。

  • 参数

    参数

    类型

    说明

    type

    int

    网络状态:

    0:无网络可用。

    1:Wi-Fi 网络。

    2:移动网络。在该网络下,需要业务通知用户会消耗用户流量。

  • 返回值:无。

onBandwidthImportanceChangeNotify

  • 声明void onBandwidthImportanceChangeNotify( boolean isLow, double currentBandwidth, FeedInfo feedInfo );

  • 说明:带宽变化通知,当带宽从正常变化到弱网,或者从弱网重新回到正常时,会回调该通知。

  • 参数

    参数

    类型

    说明

    isLow

    boolean

    是否为弱网状态。

    currentBandwidth

    double

    当前有效带宽值。

    feedInfo

    FeedInfo

    带宽变化对应的流信息。

  • 返回值:无。

onCurrentAudioPlayoutMode

  • 声明void onCurrentAudioPlayoutMode( int mode );

  • 说明:手机当前声音输出模式,当手机声音输出模式有变化时,会通过该回调通知到上层。同时,在用户通过 setRtcListenerAndHandler 接口设置整体回调的时候,也会通过该接口通知业务当前声音输出模式。

  • 参数

    参数

    类型

    说明

    mode

    int

    音频输出模式:

    1:EARPIECE,听筒输出。

    2:SPEAKERPHONE,外放输出。

    3:WIREDHEADSET,耳机输出。

    4:BLUETOOTH,蓝牙输出。

    5:NONE,没有输出。

  • 返回值:无。

onSnapShotComplete

  • 声明void onSnapShotComplete( Bitmap image, FeedInfo feedInfo );

  • 说明:执行截帧后,在获取到结果后,会通过该回调通知。

  • 参数

    参数

    类型

    说明

    image

    Bitmap

    截帧后的图像。

    feedInfo

    FeedInfo

    截帧对应的流信息,可以是对方,也可以是本端。

  • 返回值:无。

onStatisticDebugInfo

  • 声明void onStatisticDebugInfo( StatisticInfoForDebug infoForDebug, FeedInfo feedInfo );

  • 说明:调试统计信息。

  • 参数

    参数

    类型

    说明

    infoForDebug

    StatisticInfoForDebug

    统计信息,详情请参见 重要参数

    feedInfo

    FeedInfo

    对应的流信息,可以是对方,也可以是本端。

  • 返回值:无。

onRealTimeStatisticInfo

  • 声明void onRealTimeStatisticInfo( RealTimeStatisticReport report, FeedInfo feedInfo );

  • 说明:调试实时质量信息。

  • 参数

    参数

    类型

    说明

    report

    RealTimeStatisticReport

    实时质量信息,详情请参见 重要参数

    feedInfo

    FeedInfo

    对应的流信息,可以是对方,也可以是本端。

  • 返回值:无。

onMsgReceive

  • 声明void onMsgReceive(Msg4Receive msg4Receive);

  • 说明:接收到文本信息。在 AlipayRtcEngineIMListener 回调中,如果不使用文本发送功能,则可以不用设置该回调。

  • 参数

    参数

    类型

    说明

    msg4Receive

    Msg4Receive

    更多信息请参见 重要参数

  • 返回值:无。

onMsgSend

  • 声明void onMsgSend( int error, String errorMessage, long msgId );

  • 说明:文本发送结果。在 AlipayRtcEngineIMListener 回调中,如果不使用文本发送功能,则可以不用设置该回调。

  • 参数

    参数

    类型

    说明

    error

    int

    0 为正常,其它则为失败。

    errorMessage

    String

    如果 error 不为 0,则这里是对应的失败信息说明。

    msgId

    long

    对应的消息 ID。

  • 返回值:无。

onInviteResponse

  • 声明void onInviteResponse( String inviteTaskId, int code, String msg );

  • 说明:发送邀请的结果,code=0 则发送成功。在 AlipayRtcEngineInviteListener 中,如果不使用邀请功能,可以不用设置和关注。

  • 参数

    参数

    类型

    说明

    inviteTaskId

    String

    邀请任务 ID。用于标识是哪次邀请调用。

    code

    int

    邀请错误码,详细说明如下:

    • 0:邀请成功。

    • 1:参数错误。

    • 2:房间非法。

    • 3:已有正在进行的邀请。

    • 4:服务端返回邀请失败。

    • 5:邀请超时。

    • 6:预留错误码。

    msg

    String

    服务端返回的详细信息。

  • 返回值:无。

onReplyResponse

  • 声明void onReplyResponse( String inviteTaskId, int code, String msg );

  • 说明:回复邀请的结果,code 值为 0 时则回复成功。在 AlipayRtcEngineInviteListener 中,如果不使用邀请功能,可以不用设置和关注。

  • 参数

    参数

    类型

    说明

    inviteTaskId

    String

    邀请任务 ID。用于标识是哪次邀请调用。

    code

    int

    邀请错误码,详细说明如下:

    • 0:回复成功。

    • 1:参数错误。

    • 3:上次调用还未完成。

    • 4:服务端返回请求失败。

    • 5:调用超时。

    • 6:预留错误码。

    msg

    String

    服务端返回的详细信息。

  • 返回值:无。

onReplyOfInviteNotify

  • 声明void onReplyOfInviteNotify(ReplyOfInviteInfo replyInfo );

  • 说明:发送邀请之后,对方回复的结果,可以是接受或者拒绝之类的结果。在 AlipayRtcEngineInviteListener 中,如果不使用邀请功能,可以不用设置和关注。

  • 参数

    参数

    类型

    说明

    replyInfo

    ReplyOfInviteInfo

    更多信息请参见 重要参数

  • 返回值:无。

onCustomPublishPreviewInfo

  • 声明void onCustomPublishPreviewInfo(PublishVideoSource videoSource, ARTVCView view );

  • 说明:自定义推流的本地预览 view,通过 videoSource 区分视频源。在 AlipayRtcEngineCustomPublishListener 中,如果不使用自定义推流和屏幕共享,可以不用设置和关注。

  • 参数

    参数

    类型

    说明

    videoSource

    PublishVideoSource

    更多信息请参见 重要参数

    view

    ARTVCView

    更多信息请参见 重要参数

  • 返回值:无。

onCustomPublishPreviewFirstFrame

  • 声明void onCustomPublishPreviewFirstFrame( PublishVideoSource videoSource );

  • 说明:自定义推流的本地预览的第一帧显示事件,通过 videoSource 区分视频源。在 AlipayRtcEngineCustomPublishListener 中,如果不使用自定义推流和屏幕共享,可以不用设置和关注。

  • 参数

    参数

    类型

    说明

    videoSource

    PublishVideoSource

    更多信息请参见 重要参数

  • 返回值:无。

onCustomPublishPreviewStop

  • 声明void onCustomPublishPreviewStop( PublishVideoSource videoSource );

  • 说明:自定义推流的本地预览停止显示事件,通过 videoSource 区分视频源。在 AlipayRtcEngineCustomPublishListener 中,如果不使用自定义推流和屏幕共享,可以不用设置和关注。

  • 参数

    参数

    类型

    说明

    videoSource

    PublishVideoSource

    更多信息请参见 重要参数

  • 返回值:无。