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

目录

AliRtcEngineEventListener:本地用户行为回调。
API 描述 支持的最低版本
onJoinChannelResult 加入频道结果回调。 1.1
onLiveStreamingSignalingResult 低延迟互动直播拉流回调。 2.1
onLeaveChannelResult 离开频道结果回调。 1.1
onAudioPublishStateChanged 音频推流变更回调。 2.1
onVideoPublishStateChanged 视频推流变更回调。 2.1
onDualStreamPublishStateChanged 次要视频流推流变更回调。 2.1
onScreenSharePublishStateChanged 屏幕分享推流变更回调。 2.1
onAudioSubscribeStateChanged 音频订阅情况变更回调。 2.1
onVideoSubscribeStateChanged 相机流订阅情况变更回调。 2.1
onSubscribeStreamTypeChanged 相机大小流情况变更回调。 2.1
onScreenShareSubscribeStateChanged 屏幕分享流订阅情况变更回调。 2.1
onNetworkQualityChanged 网络质量变化时回调。 1.1
onNetworkQualityProbeTest 网络质量探测的回调。 1.16.2
onOccurWarning 警告回调。 1.1
onOccurError 错误回调。 1.1
onPerformanceLow 当前设备性能不足回调。 1.16
onPerformanceRecovery 当前设备性能恢复回调。 1.16
onConnectionLost 网络断开回调。 1.14
onTryToReconnect 尝试网络重连回调。 1.14
onConnectionRecovery 网络重连成功回调。 1.14
onConnectionStatusChange 网络连接状态改变的回调。 2.1
onUpdateRoleNotify 用户角色发生改变时回调。 1.16
onSnapshotComplete 截图回调。 2.1
onPublishLiveStreamStateChanged 旁路推流状态改变回调。 2.1
onPublishTaskStateChanged 旁路任务状态改变回调。 2.1
AliRtcEngineNotify:远端用户行为回调。
API 描述 支持的最低版本
onRemoteUserOnLineNotify 远端用户上线回调。 1.1
onRemoteUserOffLineNotify 远端用户下线回调。 1.1
onRemoteTrackAvailableNotify 远端用户音视频流发生变化时回调。 1.1
onFirstRemoteVideoFrameDrawn 远端视频流首帧渲染完回调。 1.16.2
onFirstLocalVideoFrameDrawn 预览开始显示第一帧视频帧时触发这个消息。 1.17.2
onFirstVideoFrameReceived 收到远端用户视频首帧的回调。 2.1
onFirstVideoPacketSent 视频首包发送回调。 2.1
onFirstAudioPacketSent 音频首包发送回调。 2.1
onFirstVideoPacketReceived 视频首包接收回调。 2.1
onFirstAudioPacketReceived 音频首包接收回调。 2.1
onFirstRemoteAudioDecoded 已解码远端音频首帧回调。 2.1
onBye 被服务器踢出或者频道关闭时回调。 1.1
onAliRtcStats 当前会话统计信息回调。 1.16
onUserAudioMuted 对端用户停止音频数据发送通知。 1.16.3
onUserVideoMuted 对端用户发送视频黑帧数据发送通知。 1.16.3
onUserVideoEnabled 对端用户关闭相机流采集发送通知。 2.1
onUserAudioInterruptedBegin 用户音频被中断通知。 1.17
onUserAudioInterruptedEnded 用户音频中断结束通知。 1.17
onUserWillResignActive 远端用户应用退到后台。 1.17
onUserWillBecomeActive 远端用户应用返回前台。 1.17
onAudioPlayingStateChanged 本地伴奏播放回调。 1.16.2
onRemoteAudioAccompanyStarted 远端用户伴奏开始播放。 2.1
onRemoteAudioAccompanyFinished 远端用户伴奏结束播放。 2.1
onAudioEffectFinished 本地音效播放结束回调。 1.17.30
onMediaRecordEvent 录制事件回调。 1.17
onRtcLocalVideoStats 本地视频统计信息回调。 1.17
onRtcRemoteVideoStats 远端视频统计信息回调。 1.17
onRtcRemoteAudioStats 本地音频统计信息。 2.1
onRtcLocalAudioStats 远端音频统计信息。 2.1
onMediaExtensionMsgReceived 收到媒体扩展信息回调。 1.17.1
onUplinkChannelMessage 客户端向服务端发送消息的结果通知。 2.1
onAudioFocusChange 音频焦点变化的结果通知回调。 1.17
onAudioRouteChanged 语音路由发生变化回调。 2.1
onMessage 给Sass层使用的信令通道。 2.1
onChannelRelayStateChanged 跨频道连麦状态变化。 2.1
onChannelRelayEvent 跨频道连麦事件。 2.1
onRemoteVideoChanged 远端视频流改变回调。 2.4
AliRtcVideoObserver:视频裸数据回调。
API 描述 支持的最低版本
onLocalVideoSample 订阅的本地采集视频数据。 1.17
onRemoteVideoSample 订阅的远端视频数据。 1.17
onPreEncodeVideoSample 订阅的本地编码前视频数据。 2.1
onGetVideoFormatPreference 视频数据输出格式。 2.1
onGetObservedFramePosition 视频数据输出位置。 2.1
onGetIfUserFetchObserverData 视频输出数据是否由用户来获取。 2.4
onGetVideoAlignment 视频数据输出对齐方式。 2.4
onGetObserverDataMirrorApplied 视频输出数据是否需要镜像。 2.4
onGetSmoothRenderingEnabled 拉流视频数据是否平滑输出。 2.4
AliRtcAudioObserver:音频裸数据回调。
API 描述 支持的最低版本
onCaptureRawData 本地采集音频数据。 1.17
onCaptureData 本地推流音频数据。 1.17
onRenderData 本地订阅音频数据。 1.17
onPlaybackAudioFrameBeforeMixing 混音前的指定用户的音频数据。 2.1
AliRtcAudioVolumeObserver:注册音量回调。
API 描述 支持的最低版本
onAudioVolume 用户音量大小回调。 1.16.2
onActiveSpeaker 订阅的当前说话人。 2.1
AliRtcTextureObserver:视频纹理回调。
API 描述 支持的最低版本
onTextureCreate 视频GL纹理创建回调。 1.15
onTextureUpdate 视频GL纹理更新回调。 1.15
onTextureDestroy 视频GL纹理销毁回调。 1.15

详情

  • onJoinChannelResult:加入频道结果回调。
    public void onJoinChannelResult(int result, String channel, int elapsed);
    参数 类型 描述
    result int 加入频道结果,成功返回0,失败返回错误码。
    channel String 频道ID。
    elapsed int 加入频道耗时。单位:毫秒。
  • onLiveStreamingSignalingResult:低延时互动直播拉流回调。
    public void onLiveStreamingSignalingResult(int result);
    参数 类型 描述
    result int 直播拉流结果,成功返回0,失败返回其他。
  • onLeaveChannelResult:离开频道结果回调。

    调用leaveChannel接口后返回该回调,如果离开频道后直接销毁SDK,将不会收到该回调。

    public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);
    参数 类型 描述
    result int 离开频道结果,成功返回0,失败返回错误码。
    stats AliRtcStats 本次频道内会话的数据统计汇总。
  • onAudioPublishStateChanged:音频推流变更回调。
    public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
                                           AliRtcEngine.AliRtcPublishState newState,
                                               int elapseSinceLastState, String channel);
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onVideoPublishStateChanged:视频推流变更回调。
    public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
                                           AliRtcEngine.AliRtcPublishState newState, 
                                           int elapseSinceLastState, String channel);
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onDualStreamPublishStateChanged:次要视频流推流变更回调。
    public void onDualStreamPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
                                                AliRtcEngine.AliRtcPublishState newState, 
                                                int elapseSinceLastState, String channel);
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onScreenSharePublishStateChanged:屏幕分享推流变更回调。
    public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
                                                 AliRtcEngine.AliRtcPublishState newState,
                                                 int elapseSinceLastState, String channel);
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onAudioSubscribeStateChanged:音频订阅情况变更回调。
    public void onAudioSubscribeStateChanged(String uid,
                                             AliRtcEngine.AliRtcSubscribeState oldState,
                                             AliRtcEngine.AliRtcSubscribeState newState,
                                             int elapseSinceLastState, String channel);
    参数 类型 描述
    uid String 远端用户ID。
    oldState AliRtcSubscribeState 之前的订阅状态。
    newState AliRtcSubscribeState 当前的订阅状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onVideoSubscribeStateChanged:相机流订阅情况变更回调。
    public void onVideoSubscribeStateChanged(String uid,
                                             AliRtcEngine.AliRtcSubscribeState oldState,
                                             AliRtcEngine.AliRtcSubscribeState newState,
                                             int elapseSinceLastState, String channel);
    参数 类型 描述
    uid String 远端用户ID。
    oldState AliRtcSubscribeState 之前的订阅状态。
    newState AliRtcSubscribeState 当前的订阅状态。
    elapseSinceLastState int 状态变更时间间隔。
    channel String 当前频道ID。
  • onSubscribeStreamTypeChanged:相机大小流情况变更回调。
    public void onSubscribeStreamTypeChanged(String uid,
                                             AliRtcEngine.AliRtcVideoStreamType oldStreamType,
                                             AliRtcEngine.AliRtcVideoStreamType newStreamType,
                                             int elapseSinceLastState, String channel);
    参数 类型 描述
    uid String 远端用户ID。
    oldState AliRtcVideoStreamType 之前的订阅状态。
    newState AliRtcVideoStreamType 当前的订阅状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onScreenShareSubscribeStateChanged:屏幕分享流订阅情况变更回调。
    public void onScreenShareSubscribeStateChanged(String uid,
                                                   AliRtcEngine.AliRtcSubscribeState oldState,
                                                   AliRtcEngine.AliRtcSubscribeState newState,
                                                   int elapseSinceLastState, String channel);
    参数 类型 描述
    uid String 远端用户ID。
    oldState AliRtcSubscribeState 之前的订阅状态。
    newState AliRtcSubscribeState 当前的订阅状态。
    elapseSinceLastState int 状态变更时间间隔。单位:毫秒。
    channel String 当前频道ID。
  • onNetworkQualityChanged:网络质量变化时回调。
    public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);
    参数 类型 描述
    uid String 网络质量发生变化的用户ID,用户ID为空表示本地,其他表示远端。
    upQuality AliRtcNetworkQuality 上行网络质量。
    downQuality AliRtcNetworkQuality 下行网络质量。
  • onNetworkQualityProbeTest:网络质量探测回调。
    public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality);
    参数 类型 描述
    networkQuality AliRtcNetworkQuality 网络质量。
  • onOccurWarning:警告回调。

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

    public void onOccurWarning(int warn, String message);
    参数 类型 描述
    warn int 警告类型。
    msg String 警告说明。
  • onOccurError:错误回调。
    说明 当参数error为16908812或33620229时,您需要先调用destroy接口销毁实例,重新创建SDK实例,再调用joinChannel接口加入频道。
    public void onOccurError(int error, String message);
    参数 类型 描述
    error int 错误类型。
    msg String 错误说明。
  • onPerformanceLow:当前设备性能不足回调。
    public void onPerformanceLow();
  • onPerformanceRecovery:当前设备性能恢复回调。
    public void onPermormanceRecovery();
  • onConnectionLost:网络断开回调。
    public void onConnectionLost();
  • onTryToReconnect:尝试网络重连回调。
    public void onTryToReconnect();
  • onConnectionRecovery:网络重连成功回调。
    public void onConnectionRecovery();
  • onConnectionStatusChange:网络连接状态改变的回调。
    public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
                                         AliRtcEngine.AliRtcConnectionStatusChangeReason reason);
    参数 类型 描述
    status AliRtcConnectionStatus 当前网络链接状态。
    reason AliRtcConnectionStatusChangeReason 网络链接状态改变原因。
  • onUpdateRoleNotify:用户角色发生改变时回调。
    public void onUpdateRoleNotify(AliRtcEngine.AliRTCSdkClientRole oldRole, 
                                   AliRtcEngine.AliRTCSdkClientRole newRole);
    参数 类型 描述
    oldRole AliRTCSdkClientRole 切换前的角色。
    newRole AliRTCSdkClientRole 切换后的角色。
  • onSnapshotComplete:截图回调。
    public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType,
                                   Bitmap bitmap, boolean success);
    参数 类型 描述
    userId String 用户ID。
    trackType AliRtcVideoTrack 截图视频Track。
    bitmap Bitmap 返回截图的Bitmap对象。
    success boolean 截图是否成功。
  • onPublishLiveStreamStateChanged:旁路推流状态改变回调。
    public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);
    参数 类型 描述
    streamUrl String 推流地址。
    state AliRtcLiveTranscodingState 旁路直播状态。
    errorCode AliEngineLiveTranscodingErrorCode 错误码。
  • onPublishTaskStateChanged:旁路任务状态改变回调。
    public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);
    参数 类型 描述
    streamUrl String 推流地址。
    state AliRtcTrascodingPublishTaskStatus 旁路直播推流任务状态。
  • onRemoteUserOnLineNotify:远端用户上线回调。
    public void onRemoteUserOnLineNotify(String uid, int elapsed);
    参数 类型 描述
    uid String 远端用户ID。
    elapsed int 用户加入频道时的耗时。单位:毫秒。
  • onRemoteUserOffLineNotify:远端用户下线回调。
    public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);
    参数 类型 描述
    uid String 远端用户ID。
    reason AliRtcUserOfflineReason 用户离线的原因。
  • onRemoteTrackAvailableNotify:远端用户音视频流发生变化时回调。
    public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
                                                        AliRtcVideoTrack videoTrack);
    参数 类型 描述
    uid String 远端用户ID。
    audioTrack AliRtcVideoTrack 远端用户发生变化后的音频流。
    videoTrack AliRtcVideoTrack 远端用户发生变化后的视频流。
  • onFirstRemoteVideoFrameDrawn:远端视频流首帧渲染完回调。
    public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack,
                                                 int width, int height, int elapsed);
    参数 类型 描述
    uid String 远端用户ID。
    videoTrack AliRtcVideoTrack 渲染的视频流类型。
    width int 视频宽度。
    height int 视频高度。
    elapsed int 总耗时。单位:毫秒。
  • onFirstLocalVideoFrameDrawn:预览开始显示第一帧视频帧时触发这个消息。
    public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);
    参数 类型 描述
    width int 视频宽度。
    height int 视频高度。
    elapsed int 总耗时。单位:毫秒。
  • onFirstVideoFrameReceived:收到远端用户视频首帧的回调。
    public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);
    参数 类型 描述
    uid String 远端用户ID。
    videoTrack AliRtcVideoTrack 渲染的视频流类型。
    timeCost int 耗时。单位:毫秒。
  • onFirstVideoPacketSent:视频首包发送回调。
    public void onFirstVideoPacketSent(String userId, AliRtcVideoTrack videoTrack, int timeCost);
    参数 类型 描述
    userId String 用户ID。
    videoTrack AliRtcVideoTrack 发送视频流。
    timeCost int 耗时。单位:毫秒。
  • onFirstAudioPacketSent:音频首包发送回调。
    public void onFirstAudioPacketSent(String userId, int timeCost);
    参数 类型 描述
    userId String 用户ID。
    timeCost int 耗时。单位:毫秒。
  • onFirstVideoPacketReceived:视频首包接收回调。
    public void onFirstVideoPacketReceived(String userId, AliRtcVideoTrack videoTrack, int timeCost);
    参数 类型 描述
    userId String 用户ID。
    videoTrack AliRtcVideoTrack 接收视频流。
    timeCost int 耗时。单位:毫秒。
  • onFirstAudioPacketReceived:音频首包接收回调。
    public void onFirstAudioPacketReceived(String userId,int timeCost);
    参数 类型 描述
    userId String 用户ID。
    timeCost int 耗时。单位:毫秒。
  • onFirstRemoteAudioDecoded:已解码远端音频首帧回调。
    public void onFirstRemoteAudioDecoded(String uid, int timeCost);
    参数 类型 描述
    uid String 远端用户ID。
    elapsed int 耗时。单位:毫秒。
  • onBye:被服务器踢出或者频道关闭时回调。
    public void onBye(int code);
    参数 类型 描述
    code int onBye类型,更多信息,请参见AliRtcOnByeType
  • onAliRtcStats:当前会话统计信息回调。
    public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);

    SDK每两秒触发一次此统计信息回调。

    参数 类型 描述
    stats AliRtcStats 会话统计信息。
  • onUserAudioMuted:对端用户停止音频数据发送通知。
    public void onUserAudioMuted(String uid ,boolean isMute);
    参数 类型 描述
    uid String 执行muteAudio的用户。
    isMute boolean 是否静音,取值:
    • true:静音。
    • false:未静音。
  • onUserVideoMuted:对端用户发送视频黑帧数据发送通知。
    public void onUserVideoMuted(String uid ,boolean isMute);
    参数 类型 描述
    uid String 执行enableLocalVideo的用户。
    isMute boolean 是否发送黑帧,取值:
    • true:推流黑帧。
    • false:正常推流。
  • onUserVideoEnabled:对端用户关闭相机流采集发送通知。
    public void onUserVideoEnabled(String uid, boolean isMute);
    参数 类型 描述
    uid String 远端用户ID。
    isMute boolean 是否开启相机流采集,取值:
    • true:打开相机流采集。
    • false:关闭相机流采集。
  • onUserAudioInterruptedBegin:用户音频被中断通知。
    public void onUserAudioInterruptedBegin(String uid);
    参数 类型 描述
    uid String audio被中断的用户。
  • onUserAudioInterruptedEnded:用户音频中断结束通知。
    public void onUserAudioInterruptedEnded(String uid);
    参数 类型 描述
    uid String audio被中断的用户。
  • onUserWillResignActive:远端用户应用退到后台。
    public void onUserWillResignActive(String uid);
    参数 类型 描述
    uid String 用户ID。
  • onUserWillBecomeActive:远端用户应用返回前台。
    public void onUserWillBecomeActive(String uid);
    参数 类型 描述
    uid String 用户ID。
  • onAudioPlayingStateChanged:本地伴奏播放回调。
    public void onAudioPlayingStateChanged(AliRtcEngine.AliRtcAudioPlayingStateCode playState, 
                                           AliRtcEngine.AliRtcAudioPlayingErrorCode errorCode);
    参数 类型 描述
    playState AliRtcAudioPlayingStateCode 当前播放状态。
    errorCode AliRtcAudioPlayingErrorCode 错误码。
  • onRemoteAudioAccompanyStarted:远端用户伴奏开始播放。
    public void onRemoteAudioAccompanyStarted(String uid);
    参数 类型 描述
    uid String 用户ID。
  • onRemoteAudioAccompanyFinished:远端用户伴奏结束播放。
    public void onRemoteAudioAccompanyFinished(String uid);
    参数 类型 描述
    uid String 用户ID。
  • onAudioEffectFinished:本地音效播放结束回调。
    void OnAudioEffectFinished(int soundId);
    参数 类型 描述
    soundId int 用户给该音效文件分配的ID。
  • onMediaRecordEvent:录制事件回调。
    public void onMediaRecordEvent(int event, String filePath);
    参数 类型 描述
    event int 录制事件。取值:
    • 0:录制开始。
    • 1:录制结束。
    • 2:打开文件失败。
    • 3:写文件失败。
    filePath String 录制文件路径。
  • onRtcLocalVideoStats:本地视频统计信息。
    public void onRtcLocalVideoStats(AliRtcEngine.RtcLocalVideoStats localVideoStats);

    SDK每两秒触发一次此统计信息回调。

    参数 类型 描述
    localVideoStats RtcLocalVideoStats 本地视频统计信息。
  • onRtcRemoteVideoStats:远端视频统计信息。
    public void onRtcRemoteVideoStats(AliRtcEngine.RtcRemoteVideoStats aliRtcStats);

    SDK每两秒触发一次此统计信息回调。

    参数 类型 描述
    remoteVideoStats RtcRemoteVideoStats 远端视频统计信息。
  • onRtcRemoteAudioStats:本地音频统计信息。
    public void onRtcRemoteAudioStats(AliRtcEngine.RtcRemoteAudioStats aliRtcStats);

    SDK每两秒触发一次此统计信息回调。

    参数 类型 描述
    aliRtcStats RtcRemoteAudioStats 本地音频统计信息。
  • onRtcLocalAudioStats:远端音频统计信息。
    public void onRtcLocalAudioStats(AliRtcEngine.RtcLocalAudioStats aliRtcStats);

    SDK每两秒触发一次此统计信息回调。

    参数 类型 描述
    aliRtcStats RtcLocalAudioStats 远端音频统计信息。
  • onMediaExtensionMsgReceived:收到媒体扩展信息回调。
    public void onMediaExtensionMsgReceived(String uid, byte[] message);

    当房间中有用户发送自定义数据时,可以通过此回调接收数据。

    参数 类型 描述
    uid String 用户ID。
    message byte[] 接收到的自定义数据。
  • onUplinkChannelMessage:Sass的信令接口,客户端向服务端发送消息的结果通知。
    public void onUplinkChannelMessage(int result, String contentType, String content);
    参数 类型 描述
    result int 发送消息的结果。
    contentType String 信令类型。
    content String 信令内容。
  • onAudioFocusChange:音频焦点变化的结果通知。
    public void onAudioFocusChange(int focusChange);

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

    参数 类型 描述
    focusChange int 音频状态。
  • onAudioRouteChanged:语音路由发生变化回调。
    public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);
    参数 类型 描述
    routing AliRtcAudioRouteType 当前使用的语音路由。
  • onMessage:给Sass层使用的信令通道。
    public void onMessage(String tid, String contentType, String content);
    参数 类型 描述
    tid String 信令ID。
    contentType String 信令类型。
    content String 信令内容。
  • onChannelRelayStateChanged:跨频道连麦状态变化。
    public void onChannelRelayStateChanged(int state, int code, String message);
    参数 类型 描述
    state int 当前连麦状态。
    code int 当前状态码。
    msg String 状态描述信息。
  • onChannelRelayEvent:跨频道连麦事件。
    public void onChannelRelayEvent(int event);
    参数 类型 描述
    event int 状态码。
  • onRemoteVideoChanged:远端视频流改变回调。
    public void onRemoteVideoChanged(String uId, AliRtcVideoTrack videoTrack, AliRtcVideoState videoState, AliRtcVideoReason videoReason);
    参数 类型 描述
    uId String 用户ID。
    videoTrack AliRtcVideoTrack 视频流类型。
    videoState AliRtcVideoState 视频流状态变化。
    videoReason AliRtcVideoReason 触发视频流状态变化的原因。
  • onLocalVideoSample:订阅的本地采集视频数据回调。
    public boolean onLocalVideoSample(AliVideoSourceType sourceType,
                                      AliVideoSample videoSample){return false;}

    return true:需要写回SDK(只对I420有效)。

    return false:不需要写回SDK。

    参数 类型 描述
    sourceType AliVideoSourceType 视频流类型。
    videoSample AliVideoSample 帧数据。
  • onRemoteVideoSample:订阅的远端视频数据回调。
    public boolean onRemoteVideoSample(String uid, AliVideoSourceType sourceType, 
                                       AliVideoSample videoSample){return false;}

    return true:需要写回SDK(只对I420有效)。

    return false:不需要写回SDK。

    参数 类型 描述
    uid String 用户ID。
    sourceType AliVideoSourceType 视频流类型。
    videoSample AliVideoSample 帧数据。
  • onPreEncodeVideoSample:订阅的本地编码前视频数据。
    public boolean onPreEncodeVideoSample(AliVideoSourceType sourceType, 
                                          AliVideoSample videoRawData){return false;}

    return true:需要写回SDK(只对I420有效)。

    return false:不需要写回SDK。

    参数 类型 描述
    videoSource AliVideoSourceType 视频流类型。
    videoRawData AliVideoSample 帧数据。
  • onGetVideoFormatPreference:视频数据输出格式。
    public AliEngineVideoFormat onGetVideoFormatPreference()
    {return AliEngineVideoFormat.AliEngineVideoFormatI420;}
  • onGetObservedFramePosition:视频数据输出位置。
    public int onGetObservedFramePosition()
    {return AliEngineVideoObserPosition.AliEnginePositionPostCapture.getValue() | 
    AliEngineVideoObserPosition.AliEnginePositionPreRender.getValue();}
  • onGetIfUserFetchObserverData:视频输出数据是否由用户来获取。
    public boolean onGetIfUserFetchObserverData(){return false;}
    返回说明

    true表示视频输出数据由用户来获取,false表示视频输出数据由SDK回调获取,默认值为false。

  • onGetVideoAlignment:视频数据输出对齐方式。
    public int onGetVideoAlignment(){
                return AliRtcVideoObserAlignment.AliRtcAlignmentDefault.getValue();
            }
    返回说明

    返回裸数据回调数据对齐类型,默认值为AliRtcAlignmentDefault。

  • onGetObserverDataMirrorApplied:视频输出数据是否需要镜像。
    public boolean onGetObserverDataMirrorApplied(){return false;}
    返回说明

    true表示视频输出数据需要镜像,false表示视频输出数据不需要镜像,默认值为false。

  • onGetSmoothRenderingEnabled:拉流视频数据是否平滑输出。
    public boolean onGetSmoothRenderingEnabled(){return false;}
    返回说明

    true表示拉流视频数据平滑输出,false表示拉流视频数据直接输出,默认值为false。

    说明 当且仅当onGetIfUserFetchObserverData返回false时,拉流视频数据平滑输出才生效。
  • onCaptureRawData:本地采集音频数据回调。
    void onCaptureRawData(AliAudioSample aliAudioSample);
    参数 类型 描述
    aliAudioSample AliAudioSample 音频数据。
  • onCaptureData:本地推流音频数据回调。
    void onCaptureData(AliAudioSample aliAudioSample);
    参数 类型 描述
    aliAudioSample AliAudioSample 音频数据。
  • onRenderData:本地订阅音频数据回调。
    void onRenderData(AliAudioSample aliAudioSample);
    参数 类型 描述
    aliAudioSample AliAudioSample 音频数据。
  • onPlaybackAudioFrameBeforeMixing:本地订阅音频数据回调。
    void onPlaybackAudioFrameBeforeMixing(String uid, AliAudioSample aliAudioSample);
    参数 类型 描述
    uid String 用户ID。
    aliAudioSample AliAudioSample 音频数据。
  • onAudioVolume:订阅的音频音量,语音状态和uid。
    public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);
    参数 类型 描述
    speakers List<AliRtcEngine.AliRtcAudioVolume> 回调用户音量信息数组,包含用户uid、语音状态以及音量。

    当uid为0时表示本地说话人。

    totalVolume int 混音后的总音量,取值范围:[0,255]。

    在本地用户的回调中,totalVolume为本地用户混音后的音量;在远端用户的回调中,totalVolume为所有说话者混音后的总音量。

  • onActiveSpeaker:订阅当前正在说话的人。
    public void OnActiveSpeaker(String uid);
    参数 类型 描述
    uid String 说话人的uid,当uid为0时表示本地说话人。其返回的是当前时间段内声音最大的用户ID,而不是瞬时声音最大的用户ID。
  • onTextureCreate:视频GL纹理创建回调。
    void onTextureCreate(long context);
    参数 类型 描述
    context long opengl的线程相关上下文变量。
  • onTextureUpdate:视频GL纹理更新回调。
    int onTextureUpdate(int textureId, int width, int height, AliVideoSample videoSample);
    参数 类型 描述
    textureId int 视频数据纹理类型ID。
    width int 宽度。
    height int 高度。
    videoSample AliVideoSample 视频数据。
  • onTextureDestroy:视频GL纹理销毁回调。
    void onTextureDestroy();