本文介绍音视频通话 API 在接入 Android 时涉及的回调函数。
回调类型 | 函数 | 说明 |
全局错误事件 | void onError(int errorCode, String errorMessage, Bundle extra ); | SDK 不可恢复的错误,一定要监听,并根据不同情况有适当的界面提示。仅包含全局错误,不包括发布和订阅发生的错误。 |
房间事件 | void onRoomInfo( RoomInfo info ); | 创建房间成功的回调,包含房间信息,如果房间创建失败,则通过 onError 回调对应的错误。 |
void onEnterRoom( int result ); | 加入房间的回调, | |
void onLeaveRoom( int result ); | 退出房间回调, | |
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 ); | 手机当前网络状态,当手机网络状态有变化的时候,会通过该回调通知到上层。同时,在用户通过 |
void onBandwidthImportanceChangeNotify( boolean isLow, double currentBandwidth, FeedInfo feedInfo ); | 带宽变化通知,当带宽从正常变化到弱网,或者从弱网重新回到正常时,会回调该通知。 | |
当前音频输出模式 | void onCurrentAudioPlayoutMode( int mode ); | 手机当前声音输出模式,当手机声音输出模式有变化的时候,会通过该回调通知到上层。同时,在用户通过 |
截帧结果回调 | 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 时则发送成功。在 |
void onReplyResponse( String inviteTaskId, int code, String msg ); | 回复邀请的结果,code 值为 0 时则回复成功。在 | |
void onReplyOfInviteNotify(ReplyOfInviteInfo replyInfo ); | 发送邀请之后,对方回复的结果,可以是接受或者拒绝之类的结果,详情请参见 重要参数。在 | |
自定义推流图像本地预览 view 交互回调 | void onCustomPublishPreviewInfo(PublishVideoSource videoSource, ARTVCView view ); | 自定义推流的本地预览 view,通过 videoSource 区分视频源。在 |
void onCustomPublishPreviewFirstFrame( PublishVideoSource videoSource ); | 自定义推流的本地预览的第一帧显示事件,通过 videoSource 区分视频源。在 | |
void onCustomPublishPreviewStop( PublishVideoSource videoSource ); | 自定义推流的本地预览停止显示事件,通过 videoSource 区分视频源。在 |
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
更多信息请参见 重要参数。
返回值:无。