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

目录

API 描述 支持的最低版本
onJoinChannelResult 加入频道结果回调。 2.1
onLeaveChannelResult 离开频道结果回调。 2.1
onAudioPublishStateChanged 音频推流变更回调。 2.1
onVideoPublishStateChanged 视频推流变更回调。 2.1
onDualStreamPublishStateChanged 次要流推流变更回调。 2.1
onScreenSharePublishStateChanged 屏幕分享推流变更回调。 2.1
onScreenSharePublishStateChangedWithInfo 屏幕分享推流变更回调(仅Mac)。 2.1
onRemoteUserOnLineNotify 远端用户上线时的回调。 2.1
onRemoteUserOffLineNotify 远端用户下线时的回调。 2.1
onRemoteTrackAvailableNotify 远端用户的流发生变化时回调。 2.1
onAudioSubscribeStateChanged 音频订阅情况变更回调。 2.1
onVideoSubscribeStateChanged 相机流订阅情况变更回调。 2.1
onScreenShareSubscribeStateChanged 屏幕分享流订阅情况变更回调。 2.1
onSubscribeStreamTypeChanged 大小流订阅情况变更回调。 2.1
onNetworkQualityChanged 网络质量变化时回调。 2.1
onConnectionStatusChange 网络连接状态改变的回调。 2.1
onOccurWarning 如果engine出现warning,通过这个回调通知App。 2.1
onOccurError 如果engine出现error,通过这个回调通知App。 2.1
onFirstAudioPacketSentWithTimecost 音频首包数据发送成功。 2.1
onFirstVideoPacketSentWithVideoTrack 视频首包数据发送成功。 2.1
onFirstAudioPacketReceivedWithUid 音频首包数据接收成功。 2.1
onFirstVideoPacketReceivedWithUid 视频首包数据接收成功。 2.1
onFirstRemoteAudioDecodedWithUid 已解码远端音频首帧回调。 2.1
onFirstRemoteVideoFrameDrawn 远端用户的第一帧视频帧显示时的回调。 2.1
onFirstLocalVideoFrameDrawn 预览开始显示第一帧视频帧时的回调。 2.1
onAudioSampleCallback 订阅的音频数据回调。 2.1
onPlaybackAudioFrameBeforeMixing 混音前的指定用户的音频数据的回调。 2.1
onAudioDeviceRecordLevel 音频采集设备测试回调(仅Mac)。 1.16.2
onAudioDevicePlayoutLevel 音频播放设备测试回调(仅Mac)。 1.16.2
onAudioDevicePlayoutEnd 音频播放设备测试结束(音频文件播放完毕)(仅Mac)。 1.16.2
onAudioDeviceStateChanged 音频设备状态变更(仅Mac)。 2.1
onAudioVolumeCallback 订阅的音频音量、语音状态和UID的回调。 2.1
onActiveSpeaker 当前正在说话的人的回调。 2.1
onGetVideoFormatPreference 视频数据输出格式的回调。 2.1
onCaptureVideoSample 订阅的本地采集视频数据回调。 2.1
onPreEncodeVideoSample 订阅的本地编码前视频数据回调。 2.1
onRemoteVideoSample 订阅的远端视频数据回调。 2.1
onUserAudioMuted 用户muteAudio通知。 2.1
onUserVideoMuted 用户muteVideo通知。 2.1
onUserVideoEnabled 禁用或重新启用本地视频采集的通知。 2.1
onUserAudioInterruptedBegin 用户audio被中断通知(一般用户打电话等音频被抢占场景)。 2.1
onUserAudioInterruptedEnded 用户audio中断结束通知(对应onUserAudioInterruptedBegin)。 2.1
onUserWillResignActive 远端用户应用退到后台的回调。 2.1
onUserWillBecomeActive 远端用户应用返回前台的回调。 2.1
onTextureCreate 订阅本地视频Texture创建回调(仅iOS)。 2.1
onTextureUpdate 订阅本地视频Texture绘制回调(仅iOS)。 2.1
onTextureDestory 订阅本地视频Texture销毁回调(仅iOS)。 2.1
onAudioPlayingStateChanged 本地伴奏播放状态回调。 1.16.2
onRemoteAudioAccompanyStarted 远端用户伴奏播放开始回调。 2.1
onRemoteAudioAccompanyFinished 远端用户伴奏播放结束回调。 2.1
onAudioEffectFinished 本地音效播放结束回调。 2.1
onMediaRecordEvent 文件录制回调事件。 2.1
onRtcLocalVideoStats 本地视频统计信息(2s触发一次)。 2.1
onRtcRemoteVideoStats 远端视频统计信息(2s触发一次)。 2.1
onRtcLocalAudioStats 本地音频统计信息(2s触发一次)。 2.1
onRtcRemoteAudioStats 远端音频统计信息(2s触发一次)。 2.1
onMediaExtensionMsgReceived 收到媒体扩展信息回调。 2.1
onDownlinkMessageNotify 下行消息通道(接收消息)(仅iOS)。 2.1
onUplinkMessageResponse 发送上行消息后返回结果。 2.1
onAudioRouteChanged 语音路由发生变化回调(仅iOS)。 2.1
onSnapshotComplete 截图回调。 2.1
onPublishLiveStreamStateChanged 旁路推流状态改变回调。 2.4
onPublishTaskStateChanged 旁路任务状态改变回调。 2.4
onChannelRelayStateChanged 跨频道转推状态变化。 2.1
onChannelRelayEvent 跨频道转推事件回调。 2.1
onGetVideoObservedFramePosition 视频数据输出位置。 2.1
onUpdateRoleNotifyWithOldRole 用户角色发生改变时回调。 1.16
onConnectionLost 网络断开回调。 1.14
onTryToReconnect 尝试网络重连回调。 1.14
onConnectionRecovery 网络重连成功回调。 1.14
onBye 被服务器踢出或者频道关闭时回调。 1.1
onPerformanceLow 当前设备性能不足回调。 1.16
onPerformanceRecovery 当前设备性能恢复回调。 1.16
onLastmileDetectResultWithQuality 网络质量探测回调。 1.16.2
onRtcStats 实时数据回调(2s触发一次)。 1.17
onGetIfUserFetchObserverData 视频输出数据是否由用户来获取。 2.4
onGetVideoAlignment 视频数据输出对齐方式。 2.4
onGetObserverDataMirrorApplied 视频输出数据是否需要镜像。 2.4
onGetSmoothRenderingEnabled 拉流视频数据是否平滑输出。 2.4
onRemoteVideoChanged 远端视频流改变回调。 2.4

接口详情

  • onJoinChannelResult:加入频道结果回调(该回调等同于调用joinChannel接口的block操作,即处理加入频道之后的事件,选择其一即可)。
    - (void)onJoinChannelResult:(int)result channel:(NSString *_Nonnull)channel elapsed:(int) elapsed;
    参数 类型 描述
    result int 加入频道结果,成功返回0,失败返回错误码。
    channel NSString *_Nonnull 加入的频道ID。
    elapsed int 加入频道耗时。
  • onLeaveChannelResult:离开频道结果回调。调用leaveChannel接口后返回,如果调用leaveChannel后直接调用destroy,将不会收到此回调。
    - (void)onLeaveChannelResult:(int)result stats:(AliRtcStats)stats;
    参数 类型 描述
    result int 离开频道结果,成功返回0,失败返回错误码。
    stats AliRtcStats 本次频道内会话的数据统计汇总。
  • onAudioPublishStateChanged:音频推流变更回调。
    - (void)onAudioPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onVideoPublishStateChanged:视频推流变更回调。
    - (void)onVideoPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onDualStreamPublishStateChanged:次要流推流变更回调。
    - (void)onDualStreamPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onScreenSharePublishStateChanged:屏幕分享推流变更回调。
    - (void)onScreenSharePublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onRemoteUserOnLineNotify:远端用户上线时的回调。
    - (void)onRemoteUserOnLineNotify:(NSString *_Nonnull)uid elapsed:(int)elapsed;
    参数 类型 描述
    uid NSString *_Nonnull 用户ID从App server分配的唯一标示符。
    elapsed int 用户加入频道时的耗时。
  • onRemoteUserOffLineNotify:远端用户下线时的回调。
    - (void)onRemoteUserOffLineNotify:(NSString *_Nonnull)uid offlineReason:(AliRtcUserOfflineReason)reason;
    参数 类型 描述
    uid NSString *_Nonnull 用户ID从App server分配的唯一标示符。
    reason AliRtcUserOfflineReason 用户离线的原因。
  • onRemoteTrackAvailableNotify:远端用户的流发生变化时回调。
    - (void)onRemoteTrackAvailableNotify:(NSString *_Nonnull)uid audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
    参数 类型 描述
    uid NSString *_Nonnull 用户ID从App server分配的唯一标示符。
    audioTrack AliRtcAudioTrack 远端用户发生变化后的音频流。
    videoTrack AliRtcVideoTrack 远端用户发生变化后的视频流。
  • onAudioSubscribeStateChanged:音频订阅情况变更回调。
    - (void)onAudioSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    uid NSString *_Nonnull 订阅情况变更的用户ID。
    oldState AliRtcSubscribeState 之前的订阅状态。
    newState AliRtcSubscribeState 当前的订阅状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onVideoSubscribeStateChanged:相机流订阅情况变更回调。
    - (void)onVideoSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    uid NSString *_Nonnull 订阅情况变更的用户ID。
    oldState AliRtcSubscribeState 之前的订阅状态。
    newState AliRtcSubscribeState 当前的订阅状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onScreenShareSubscribeStateChanged:屏幕分享流订阅情况变更回调。
    - (void)onScreenShareSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    uid NSString *_Nonnull 订阅情况变更的用户ID。
    oldState AliRtcSubscribeState 之前的订阅状态。
    newState AliRtcSubscribeState 当前的订阅状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onSubscribeStreamTypeChanged:大小流订阅情况变更回调。
    - (void)onSubscribeStreamTypeChanged:(NSString *_Nonnull)uid oldStreamType:(AliRtcVideoStreamType)oldStreamType newStreamType:(AliRtcVideoStreamType)newStreamType elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;
    参数 类型 描述
    uid NSString *_Nonnull 订阅情况变更的用户ID。
    oldState AliRtcVideoStreamType 之前的订阅状态。
    newState AliRtcVideoStreamType 当前的订阅状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
  • onNetworkQualityChanged:网络质量变化时回调。
    - (void)onNetworkQualityChanged:(NSString *_Nonnull)uidupNetworkQuality:(AliRtcNetworkQuality)upQualitydownNetworkQuality:(AliRtcNetworkQuality)downQuality;
    参数 类型 描述
    uid NSString *_Nonnull 网络质量发生变化的用户ID,用户ID为空表示本地,其他表示远端。
    upQuality AliRtcNetworkQuality 上行网络质量。
    downQuality AliRtcNetworkQuality 下行网络质量。
  • onConnectionStatusChange:网络连接状态改变的回调。
    - (void)onConnectionStatusChange:(AliRtcConnectionStatus)status reason:(AliRtcConnectionStatusChangeReason)reason;
    参数 类型 描述
    status AliRtcConnectionStatus 当前状态值。
    reason AliRtcConnectionStatusChangeReason 引起状态变化的具体原因。
  • onOccurWarning:如果engine出现warning,通过这个回调通知App。
    - (void)onOccurWarning:(int)warn message:(NSString *_Nonnull)message;
    参数 类型 描述
    warn int 警告编码。
    message NSString *_Nonnull 警告描述。
  • onOccurError:如果engine出现error,通过这个回调通知App。
    - (void)onOccurError:(int)errormessage:(NSString *_Nonnull)message;
    参数 类型 描述
    error int 错误码。
    message NSString *_Nonnull 错误描述。
  • onFirstAudioPacketSentWithTimecost:音频首包数据发送成功。
    - (void)onFirstAudioPacketSentWithTimecost:(int)timeCost;
    参数 类型 描述
    timeCost int 发送耗时。
  • onFirstVideoPacketSentWithVideoTrack:视频首包数据发送成功。
    - (void)onFirstVideoPacketSentWithVideoTrack:(AliRtcVideoTrack)videoTracktimeCost:(int)timeCost;
    参数 类型 描述
    videoTrack AliRtcVideoTrack 发送成功的视频流类型。
    timeCost int 发送耗时。
  • onFirstAudioPacketReceivedWithUid:音频首包数据接收成功。
    - (void)onFirstAudioPacketReceivedWithUid:(NSString *_Nonnull)uidtimeCost:(int)timeCost;
    参数 类型 描述
    uid NSString *_Nonnull 从App server分配的唯一标示符。
    timeCost int 接受耗时。
  • onFirstVideoPacketReceivedWithUid:视频首包数据接收成功。
    - (void)onFirstVideoPacketReceivedWithUid:(NSString *_Nonnull)uidvideoTrack:(AliRtcVideoTrack)videoTracktimeCost:(int)timeCost;
    参数 类型 描述
    uid NSString *_Nonnull 从App server分配的唯一标示符。
    videoTrack AliRtcVideoTrack 接收成功的视频流类型。
    timeCost int 接受耗时。
  • onFirstRemoteAudioDecodedWithUid:已解码远端音频首帧回调。
    - (void)onFirstRemoteAudioDecodedWithUid:(NSString *_Nonnull)uid elapsed:(int)elapsed;
    参数 类型 描述
    uid NSString *_Nonnull 从App server分配的唯一标示符。
    elapsed int 从本地用户加入频道直至该回调触发的延迟,单位:毫秒。
  • onFirstRemoteVideoFrameDrawn:远端用户的第一帧视频帧显示时的回调。
    - (void)onFirstRemoteVideoFrameDrawn:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack width:(int)width height:(int)height elapsed:(int)elapsed;
    参数 类型 描述
    uid NSString *_Nonnull 从App server分配的唯一标示符。
    videoTrack AliRtcVideoTrack 屏幕流或者相机流。
    width int 视频宽度。
    height int 视频高度。
    elapsed int 总耗时。
  • onFirstLocalVideoFrameDrawn:预览开始显示第一帧视频帧时的回调。
    - (void)onFirstLocalVideoFrameDrawn:(int)width height:(int)height elapsed:(int)elapsed;
    参数 类型 描述
    width int 视频宽度。
    height int 视频高度。
    elapsed int 总耗时。
  • onAudioSampleCallback:订阅的音频数据回调。
    - (void)onAudioSampleCallback:(AliRtcAudioSource)audioSource audioSample:(AliRtcAudioDataSample *_Nonnull)audioSample;
    参数 类型 描述
    audioSource AliRtcAudioSource 音频裸数据源类型。
    audioSample AliRtcAudioDataSample *_Nonnull 音频裸数据。
  • onPlaybackAudioFrameBeforeMixing:混音前的指定用户的音频数据的回调。
    - (void)onPlaybackAudioFrameBeforeMixing:(NSString *_Nonnull)uid audioSample:(AliRtcAudioDataSample *_Nonnull)audioSample;
    参数 类型 描述
    uid NSString *_Nonnull 混音前的指定用户ID。
    audioSample AliRtcAudioDataSample *_Nonnull 音频裸数据。
  • onAudioVolumeCallback:订阅的音频音量、语音状态和UID的回调。
    - (void)onAudioVolumeCallback:(NSArray <AliRtcUserVolumeInfo *> *_Nullable)array totalVolume:(int)totalVolume;
    参数 类型 描述
    array NSArray <AliRtcUserVolumeInfo *> *_Nullable 表示回调用户音量信息数组,包含用户UID、语音状态以及音量,UID为0表示本地说话人。
    totalVolume int 混音后的总音量,范围[0,255]。在本地用户的回调中,totalVolume为本地用户混音后的音量;在远端用户的回调中,totalVolume为所有说话者混音后的总音量。
  • onActiveSpeaker:当前正在说话的人的回调。
    - (void)onActiveSpeaker:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull 当前正在说话的人的ID。
  • onGetVideoFormatPreference:视频数据输出格式的回调。
    - (AliRtcVideoFormat)onGetVideoFormatPreference;
    返回说明

    返回期望输出的视频数据格式,默认返回AliRtcYUV420。需要在注册registerVideoSampleObserver后触发回调。

  • onCaptureVideoSample:订阅的本地采集视频数据回调。
    - (BOOL)onCaptureVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;
    参数 类型 描述
    videoSource AliRtcVideoSource 视频裸数据源类型。
    videoSample AliRtcVideoDataSample *_Nonnull 视频裸数据。
    返回说明

    返回true表示需要写回SDK(只对I420和CVPixelBuffer有效),false表示不需要写回SDK。

  • onPreEncodeVideoSample:订阅的本地编码前视频数据回调。
    - (BOOL)onPreEncodeVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;
    参数 类型 描述
    videoSource AliRtcVideoSource 视频裸数据源类型。
    videoSample AliRtcVideoDataSample *_Nonnull 视频裸数据。
    返回说明

    返回true表示需要写回SDK(只对I420和CVPixelBuffer有效),false表示不需要写回SDK。

  • onRemoteVideoSample:订阅的远端视频数据回调。
    - (BOOL)onRemoteVideoSample:(NSString *_Nonnull)uid videoSource:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;
    参数 类型 描述
    uid NSString *_Nonnull 订阅的远端用户的ID。
    videoSource AliRtcVideoSource 视频裸数据源类型。
    videoSample AliRtcVideoDataSample *_Nonnull 视频裸数据。
    返回说明

    返回true表示需要写回SDK(只对I420和CVPixelBuffer有效),false表示不需要写回SDK。

  • onUserAudioMuted:用户muteAudio通知。
    - (void)onUserAudioMuted:(NSString *_Nonnull)uid audioMuted:(BOOL)isMute;
    参数 类型 描述
    uid NSString *_Nonnull 执行muteAudio的用户ID。
    isMute BOOL YES表示静音,NO表示未静音。
  • onUserVideoMuted:用户muteVideo通知。
    - (void)onUserVideoMuted:(NSString *_Nonnull)uid videoMuted:(BOOL)isMute;
    参数 类型 描述
    uid NSString *_Nonnull 执行muteVideo的用户ID。
    isMute BOOL YES表示推流黑帧,NO表示正常推流。
  • onUserVideoEnabled:禁用或重新启用本地视频采集的通知。
    - (void)onUserVideoEnabled:(NSString *_Nullable)uid videoEnabled:(BOOL)isEnable;
    参数 类型 描述
    uid NSString *_Nonnull 执行EnableLocalVideo的用户ID。
    isMute BOOL YES表示打开相机流采集,NO表示关闭相机流采集。
  • onUserAudioInterruptedBegin:用户audio被中断通知(一般用户打电话等音频被抢占场景)。
    - (void)onUserAudioInterruptedBegin:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull audio被中断的用户ID。
  • onUserAudioInterruptedEnded:用户audio中断结束通知(对应onUserAudioInterruptedBegin)。
    - (void)onUserAudioInterruptedEnded:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull audio中断结束的用户ID。
  • onUserWillResignActive:远端用户应用退到后台的回调。
    - (void)onUserWillResignActive:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull 应用退到后台的用户ID。
  • onUserWillBecomeActive:远端用户应用返回前台的回调。
    - (void)onUserWillBecomeActive:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull 应用返回前台的用户ID。
  • onTextureCreate:订阅本地视频Texture创建回调(仅iOS)。
    - (void)onTextureCreate:(void *_Nullable)context;
    参数 类型 描述
    context void *_Nullable Texture上下文。
  • onTextureUpdate:订阅本地视频Texture绘制回调(仅iOS)。
    - (int)onTextureUpdate:(int)textureId width:(int)width height:(int)height videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;
    参数 类型 描述
    textureId int 视频纹理ID。
    width int 宽度。
    height int 高度。
    videoSample AliRtcVideoDataSample *_Nonnull 视频裸数据。
    返回说明

    返回视频纹理ID。

  • onTextureDestory:订阅本地视频Texture销毁回调(仅iOS)。
    - (void)onTextureDestory;
  • onAudioPlayingStateChanged:本地伴奏播放状态回调。
    - (void)onAudioPlayingStateChanged:(AliRtcAudioPlayingStateCode)playState errorCode:(AliRtcAudioPlayingErrorCode)errorCode;
    参数 类型 描述
    playState AliRtcAudioPlayingStateCode 当前播放状态。
    errorCode AliRtcAudioPlayingErrorCode 播放错误码。
  • onRemoteAudioAccompanyStarted:远端用户伴奏播放开始回调。
    - (void)onRemoteAudioAccompanyStarted:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull 伴奏播放开始的远端用户ID。
  • onRemoteAudioAccompanyFinished:远端用户伴奏播放结束回调。
    - (void)onRemoteAudioAccompanyFinished:(NSString *_Nonnull)uid;
    参数 类型 描述
    uid NSString *_Nonnull 伴奏播放结束的远端用户ID。
  • onAudioEffectFinished:本地音效播放结束回调。
    - (void)onAudioEffectFinished:(int)soundId;
    参数 类型 描述
    soundId int 播放完成的音效的ID。
  • onMediaRecordEvent:文件录制回调事件。
    - (void)onMediaRecordEvent:(int)event filePath:(NSString *_Nullable)filePath;
    参数 类型 描述
    event int 录制事件,取值:
    • 0:录制开始。
    • 1:录制结束。
    • 2:打开文件失败。
    • 3:写文件失败。
    filePath NSString *_Nullable 录制文件路径。
  • onRtcLocalVideoStats:本地视频统计信息(2s触发一次)。
    - (void)onRtcLocalVideoStats:(AliRtcLocalVideoStats *_Nonnull)localVideoStats;
    参数 类型 描述
    localVideoStats AliRtcLocalVideoStats *_Nonnull 本地视频统计信息。
  • onRtcRemoteVideoStats:远端视频统计信息(2s触发一次)。
    - (void)onRtcRemoteVideoStats:(AliRtcRemoteVideoStats *_Nonnull)remoteVideoStats;
    参数 类型 描述
    remoteVideoStats AliRtcRemoteVideoStats *_Nonnull 远端视频统计信息。
  • onRtcLocalAudioStats:本地音频统计信息(2s触发一次)。
    - (void)onRtcLocalAudioStats:(AliRtcLocalAudioStats *_Nonnull)localAudioStats;
    参数 类型 描述
    localAudioStats AliRtcLocalAudioStats *_Nonnull 本地音频统计信息(2s触发一次)。
  • onRtcRemoteAudioStats:远端音频统计信息(2s触发一次)。
    - (void)onRtcRemoteAudioStats:(AliRtcRemoteAudioStats *_Nonnull)remoteAudioStats;
    参数 类型 描述
    remoteAudioStats AliRtcRemoteAudioStats *_Nonnull 远端音频统计信息。
  • onMediaExtensionMsgReceived:收到媒体扩展信息回调。
    - (void)onMediaExtensionMsgReceived:(NSString *_Nonnull)uid message:(NSData *_Nonnull)data;
    参数 类型 描述
    uid NSString *_Nonnull 远端用户UID。
    data NSData *_Nonnull 媒体扩展信息。
  • onDownlinkMessageNotify:下行消息通道(接收消息)(仅iOS)。
    - (void)onDownlinkMessageNotify:(AliRtcMessage *_Nonnull)messageInfo;
    参数 类型 描述
    messageInfo AliRtcMessage *_Nonnull 消息信息。
  • onUplinkMessageResponse:发送上行消息后返回结果。
    - (void)onUplinkMessageResponse:(AliRtcMessageResponse *_Nonnull)resultInfo;
    参数 类型 描述
    resultInfo AliRtcMessageResponse *_Nonnull 消息信息。
  • onAudioRouteChanged:语音路由发生变化回调(仅iOS)。
    - (void)onAudioRouteChanged:(AliRtcAudioRouteType)routing;
    参数 类型 描述
    routing AliRtcAudioRouteType 当前使用的语音路由。
  • onSnapshotComplete:截图回调。
    - (void)onSnapshotComplete:(NSString*_Nullable)uid videoTrack:(AliRtcVideoTrack)videoTrack image:(UIImage* _Nullable)image success:(BOOL)success;
    参数 类型 描述
    uid NSString*_Nullable 远端用户UID。
    videoTrack AliRtcVideoTrack 截图的视频流类型。
    image UIImage* _Nullable 截图数据本身的图片。
    success BOOL 截图是否成功。
  • onPublishLiveStreamStateChanged:旁路推流状态改变回调。
    - (void)onPublishLiveStreamStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcLiveTranscodingState)state errCode:(AliRtcTrascodingLiveStreamErrorCode)errCode;
    参数 类型 描述
    streamURL NSString * 流地址。
    state AliRtcLiveTranscodingState 状态。
    errCode AliRtcTrascodingLiveStreamErrorCode 错误码。
  • onPublishTaskStateChanged:旁路任务状态改变回调。
    - (void)onPublishTaskStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcTrascodingLiveTaskStatus)state;
    参数 类型 描述
    streamURL NSString * 流地址。
    state AliRtcTrascodingLiveTaskStatus 状态。
  • onChannelRelayStateChanged:跨频道转推状态变化。
    - (void)onChannelRelayStateChanged:(int)state code:(int)code message:(NSString *_Nullable)message;
    参数 类型 描述
    state int state当前状态,请详情参见AliRtcChannelRelayState
    code int 错误码。
    message NSString *_Nullable 错误信息。
  • onChannelRelayEvent:跨频道转推事件回调。
    - (void)onChannelRelayEvent:(int)event;
    参数 类型 描述
    event int 事件,详情请参见AliRtcChannelRelayState
  • onGetVideoObservedFramePosition:视频数据输出位置。
    - (NSInteger)onGetVideoObservedFramePosition;
    返回说明

    返回期望的视频输出位置,详情请参见AliRtcVideoObserPosition

    说明 在注册registerVideoSampleObserver后触发回调,应用可返回期望输出的视频内容,对应数据将分别从onCaptureVideoSampleonPreEncodeVideoSampleonRemoteVideoSample获取,默认返回AliRtcVideoObserPosition全部类型数据,即AliRtcPositionPostCapture、AliRtcPositionPreRender、AliRtcPositionPreEncoder。
  • onUpdateRoleNotifyWithOldRole:用户角色发生改变时回调(调用setClientRole方法切换角色成功时触发此回调)。
    - (void)onUpdateRoleNotifyWithOldRole:(AliRtcClientRole)oldRole newRole:(AliRtcClientRole)newRole;
    参数 类型 描述
    oldRole AliRtcClientRole 变化前角色类型。
    newRole AliRtcClientRole 变化后角色类型。
  • onConnectionLost:网络断开回调。Mac环境从1.15版本开始支持该回调。
    - (void)onConnectionLost;
  • onTryToReconnect:尝试网络重连回调。Mac环境从1.15版本开始支持该回调。
    - (void)onTryToReconnect;
  • onConnectionRecovery:网络重连成功回调。Mac环境从1.15版本开始支持该回调。
    - (void)onConnectionRecovery;
  • onBye:被服务器踢出或者频道关闭时回调。
    - (void)onBye:(int)code;
    参数 类型 描述
    code int 消息类型。取值:
    • 1:被服务器踢出。
    • 2:频道关闭。
    • 3:同一个用户ID在其他端登录,被服务器踢出。
  • onPerformanceLow:当前设备性能不足回调。
    - (void)onPerformanceLow;
  • onPerformanceRecovery:当前设备性能恢复回调。
    - (void)onPerformanceRecovery;
  • onLastmileDetectResultWithQuality:网络质量探测回调。
    - (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;
    参数 类型 描述
    networkQuality AliRtcNetworkQuality 网络质量。
  • onRtcStats:实时数据回调(2s触发一次)。
    - (void)onRtcStats:(AliRtcStats)stats;
    参数 类型 描述
    stats AliRtcStats 数据回调。
  • onScreenSharePublishStateChangedWithInfo:屏幕分享推流变更回调(仅Mac)。
    - (void)onScreenSharePublishStateChangedWithInfo:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel info:(AliRtcScreenShareInfo* _Nonnull)screenShareInfo;
    参数 类型 描述
    oldState AliRtcPublishState 之前的推流状态。
    newState AliRtcPublishState 当前的推流状态。
    elapseSinceLastState NSInteger 状态变更时间间隔,单位:毫秒。
    channel NSString *_Nonnull 当前频道ID。
    screenShareInfo AliRtcScreenShareInfo* _Nonnull 本次屏幕共享推流配置信息。
  • onAudioDeviceRecordLevel:音频采集设备测试回调(仅Mac)。
    - (void)onAudioDeviceRecordLevel:(int)level;
    参数 类型 描述
    level int 音频采集设备音量值。
  • onAudioDevicePlayoutLevel:音频播放设备测试回调(仅Mac)。
    - (void)onAudioDevicePlayoutLevel:(int) level;
    参数 类型 描述
    level int 音频播放设备音量值。
  • onAudioDevicePlayoutEnd:音频播放设备测试结束(音频文件播放完毕)(仅Mac)。
    - (void)onAudioDevicePlayoutEnd;
  • onAudioDeviceStateChanged:音频设备状态变更(仅Mac)。
    - (void)onAudioDeviceStateChanged:(AliRtcDeviceInfo *_Nonnull)deviceInfo deviceType:(AliRtcExternalDeviceType)deviceType deviceState:(AliRtcExternalDeviceState)deviceState;
    参数 类型 描述
    deviceInfo AliRtcDeviceInfo *_Nonnull 外接设备信息。
    deviceType AliRtcExternalDeviceType 外接设备类型。
    deviceState AliRtcExternalDeviceState 外接设备状态。
  • onGetIfUserFetchObserverData:视频输出数据是否由用户来获取。
    - (BOOL)onGetIfUserFetchObserverData;
    返回说明

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

  • onGetVideoAlignment:视频数据输出对齐方式。
    - (AliRtcVideoObserAlignment)onGetVideoAlignment;
    返回说明

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

  • onGetObserverDataMirrorApplied:视频输出数据是否需要镜像。
    - (BOOL)onGetObserverDataMirrorApplied;
    返回说明

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

  • onGetSmoothRenderingEnabled:拉流视频数据是否平滑输出。
    - (BOOL)onGetSmoothRenderingEnabled;
    返回说明

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

    说明 当且仅当onGetIfUserFetchObserverData返回NO时,拉流视频数据平滑输出才生效。
  • onRemoteVideoChanged:远端视频流改变回调。
    - (void)onRemoteVideoChanged:(NSString *_Nonnull)uid trackType:(AliRtcVideoTrack)trackType state:(AliRtcVideoState)state reason:(AliRtcVideoReason)reason;
    参数 类型 描述
    uId NSString * 用户ID。
    trackType AliRtcVideoTrack 视频流类型。
    state AliRtcVideoState 视频流状态变化。
    reason AliRtcVideoReason 触发视频流状态变化的原因。