通过阅读本文,您可以了解iOS SDK和Mac SDK回调及监听的接口详情。
目录
AliRtcEngineDelegate回调如下所示。
API | 描述 | 以上版本支持 |
---|---|---|
onRemoteUserOnLineNotify | 远端用户上线回调。 | 1.1 |
onRemoteUserOffLineNotify | 远端用户下线回调。 | 1.1 |
onRemoteTrackAvailableNotify | 远端用户音视频流发生变化时回调。 | 1.1 |
onSubscribeChangedNotify | 订阅结果回调。 | 1.1 |
onNetworkQualityChanged | 网络质量变化时回调。 | 1.4 |
onOccurWarning | 警告回调。 | 1.1 |
onOccurError | 错误回调。 | 1.1 |
onBye | 被服务器踢出或者频道关闭时回调。 | 1.1 |
onFirstPacketSentWithAudioTrack | 首帧数据发送成功回调。 | 1.11 |
onFirstRemoteVideoFrameDrawn | 远端视频流首帧渲染完回调。 | 1.1 |
onFirstPacketReceivedWithAudioTrack | 首包数据接收成功回调。 |
|
onVideoDetectCallback | RTC采集视频数据回调(仅iOS)。 | 1.14 |
onUserAudioMuted | 用户muteAudio通知回调(仅iOS)。 | 1.14 |
onUserVideoMuted | 用户muteVideo通知回调(仅iOS)。 | 1.14 |
onUserAudioInterruptedBegin | 用户音频被中断通知回调(仅iOS)。 | 1.14 |
onUserAudioInterruptedEnded | 用户音频中断结束通知回调(仅iOS)。 | 1.14 |
onConnectionLost | 网络断开回调。 | 1.14 |
onTryToReconnect | 尝试网络重连回调。 | 1.14 |
onConnectionRecovery | 网络重连成功回调。 | 1.14 |
onLeaveChannelResult | 离开频道结果回调。 | 1.15 |
onUserWillResignActive | 远端用户应用退到后台回调(仅iOS)。 | 1.15 |
onUserWillBecomeActive | 远端用户应用返回前台回调(仅iOS)。 | 1.15 |
onPerformanceLow | 当前设备性能不足回调。 | 1.16 |
onPerformanceRecovery | 当前设备性能恢复回调。 | 1.16 |
onUpdateRoleNotifyWithOldRole | 用户角色发生改变时回调。 | 1.16 |
onFirstLocalVideoFrameDrawn | 本地预览渲染获取到第一帧回调(仅iOS)。 | 1.16.2 |
onAudioPlayingStateChanged | 伴奏播放回调(仅iOS)。 | 1.16.2 |
onLastmileDetectResultWithQuality | 网络质量探测回调。 | 1.16.2 |
onAudioDeviceRecordLevel | 音频采集设备测试回调(仅Mac)。 | 1.16.2 |
onAudioDevicePlayoutLevel | 音频播放设备测试回调(仅Mac)。 | 1.16.2 |
onAudioDevicePlayoutEnd | 音频播放设备测试结束(仅Mac)。 | 1.16.2 |
onVideoSampleCallback | 订阅的视频数据回调(仅Mac)。 | 1.16.2 |
onCaptureVideoSample | 订阅的本地采集视频数据回调。 | 1.16.2 |
onRemoteVideoSample | 订阅的远端视频数据回调。 | 1.16.2 |
onVideoTexture | 订阅的视频Texture(纹理)回调。 | 1.16.2 |
onJoinChannelResult | 加入频道结果回调。 |
|
onPublishResult | 发布流状态变化回调。 | 1.17 |
onMediaRecordEvent | 录制事件回调。 | 1.17 |
onRtcStats | 实时数据回调(2s触发一次)。 | 1.17 |
onRtcLocalVideoStats | 本地视频统计信息回调。 | 1.17 |
onRtcRemoteVideoStats | 远端视频统计信息回调。 | 1.17 |
onAudioSampleCallback | 订阅的音频数据回调。 | 1.17 |
onAudioVolumeCallback | 用户音量大小回调。 | 1.17.9 |
onMediaExtensionMsgReceived | 接收自定义数据回调。 | 1.17.1 |
onAudioEffectFinished | 音效播放结束回调。 | 1.17.30 |
onVideoTextureCreated | 订阅视频的Texture回调。 | 1.17 |
onVideoTextureDestory | 订阅视频的Texture被销毁的回调。 | 1.17 |
onVideoPixelBuffer | 订阅视频采集数据的回调。 | 1.17 |
onSubscribeResult | 订阅远端用户媒体流的回调。 | 1.17.39 |
onUnsubscribeResult | 取消订阅远端用户媒体流的回调。 | 1.17.39 |
接口详情
-
onRemoteUserOnLineNotify:远端用户上线回调。
- (void)onRemoteUserOnLineNotify:(NSString *)uid;
参数 类型 描述 uid NSString * 远端用户ID。 -
onRemoteUserOffLineNotify:远端用户下线回调。
- (void)onRemoteUserOffLineNotify:(NSString *)uid;
参数 类型 描述 uid NSString * 远端用户ID。 -
onRemoteTrackAvailableNotify:远端用户音视频流发生变化时回调。
- (void)onRemoteTrackAvailableNotify:(NSString *)uid audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
参数 类型 描述 uid NSString * 远端用户ID。 audioTrack AliRtcAudioTrack 远端用户发生变化后的音频流。 videoTrack AliRtcVideoTrack 远端用户发生变化后的视频流。 -
onSubscribeChangedNotify:订阅结果回调。
- (void)onSubscribeChangedNotify:(NSString *)uid audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
参数 类型 描述 uid NSString * 远端用户ID。 audioTrack AliRtcAudioTrack 订阅成功的音频流。 videoTrack AliRtcVideoTrack 订阅成功的视频流。 -
onNetworkQualityChanged:网络质量变化时回调,建议在网络质量较差的时候可以在界面上提示用户。
- (void)onNetworkQualityChanged:(NSString *)uid upNetworkQuality:(AliRtcNetworkQuality)upQuality downNetworkQuality:(AliRtcNetworkQuality)downQuality;
参数 类型 描述 uid NSString * 网络质量发生变化的用户ID,用户ID为空表示本地,其他表示远端。 upQuality AliRtcNetworkQuality 上行网络质量。 downQuality AliRtcNetworkQuality 下行网络质量。 -
onOccurWarning:警告回调。目前警告回调可以忽略,不会影响正常使用 。
- (void)onOccurWarning:(int)warn;
参数 类型 描述 warn int 警告类型。 -
onOccurError:错误回调。
当参数error为16908812或33620229时,您需要先调用destroy销毁实例,重新创建SDK实例,再调用joinChannel加入频道。
- (void)onOccurError:(int)error;
参数 类型 描述 error int 错误类型。 -
onBye:被服务器踢出或者频道关闭时回调。
- (void)onBye:(int)code;
参数 类型 描述 code int 消息类型。取值: - 1:被服务器踢出。
- 2:频道关闭。
- 3:同一个用户ID在其他端登录,被服务器踢出。
-
onFirstPacketSentWithAudioTrack:首帧数据发送成功回调。
- (void)onFirstPacketSentWithAudioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
参数 类型 描述 audioTrack AliRtcAudioTrack 发送成功的音频流类型。 videoTrack AliRtcVideoTrack 发送成功的视频流类型。 -
onFirstRemoteVideoFrameDrawn:远端视频流首帧渲染完回调。
- (void)onFirstRemoteVideoFrameDrawn:(NSString *)uid videoTrack:(AliRtcVideoTrack)videoTrack;
参数 类型 描述 uid NSString * 远端用户ID。 videoTrack AliRtcVideoTrack 渲染的流类型。 -
onFirstPacketReceivedWithAudioTrack:首包数据接收成功。
- iOS代码,如下所示:
- (void)onFirstPacketReceivedWithUid:(NSString *)uid audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
- Mac代码,如下所示:
- (void)onFirstPacketReceivedWithAudioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
参数 类型 描述 audioTrack AliRtcAudioTrack 发送成功的音频流类型。 videoTrack AliRtcVideoTrack 发送成功的视频流类型。 - iOS代码,如下所示:
-
onVideoDetectCallback(仅iOS可用):RTC采集视频数据回调。
说明 回调返回值为long类型。App层人脸识别模块中检测到的人脸数据,将此人脸数据存储的结构体指针返回给SDK。SDK接收到此指针后,会在onVideoTexture回调中再次透传回执给App。- (long)onVideoDetectCallback:(AliRtcVideoSource)type videoFrame:(AliRtcVideoDataSample *)videoFrame;
参数 类型 描述 type AliRtcVideoSource 视频流类型。 videoFrame AliRtcVideoDataSample * 视频数据帧。 -
onUserAudioMuted(仅iOS可用):用户取消音频通知。
- (void)onUserAudioMuted:(NSString *)uid audioMuted:(BOOL)isMute;
参数 类型 描述 uid NSString * 用户ID。 isMute BOOL YES表示静音,NO表示未静音。 -
onUserVideoMuted(仅iOS可用):用户取消视频通知。
- (void)onUserVideoMuted:(NSString *)uid videoMuted:(BOOL)isMute;
参数 类型 描述 uid NSString * 用户ID。 isMute BOOL YES表示推流黑帧,NO表示正常推流。 -
onUserAudioInterruptedBegin(仅iOS可用):用户音频被中断通知(一般用户打电话等音频被抢占场景)。
- (void)onUserAudioInterruptedBegin:(NSString *)uid;
参数 类型 描述 uid NSString * 音频被中断的用户ID。 -
onUserAudioInterruptedEnded(仅iOS可用):用户音频中断结束通知(对应onUserAudioInterruptedBegin)。
- (void)onUserAudioInterruptedEnded:(NSString *)uid;
参数 类型 描述 uid NSString * 音频中断结束的用户ID。 -
onConnectionLost:网络断开回调。Mac环境从1.15版本开始支持该回调。
- (void)onConnectionLost;
-
onTryToReconnect:尝试网络重连回调。Mac环境从1.15版本开始支持该回调。
- (void)onTryToReconnect;
-
onConnectionRecovery:网络重连成功回调。Mac环境从1.15版本开始支持该回调。
- (void)onConnectionRecovery;
-
onLeaveChannelResult:离开频道结果回调。调用leaveChannel接口后返回,如果调用leaveChannel后直接调用destroy,将不会收到此回调。
- (void)onLeaveChannelResult:(int)result;
参数 类型 描述 result int 成功返回0,失败返回错误码。 -
onUserWillResignActive:远端用户应用退到后台。
(void)onUserWillResignActive:(NSString *)uid
参数 类型 描述 uid NSString * 用户ID。 -
onUserWillBecomeActive:远端用户应用返回前台。
(void)onUserWillBecomeActive:(NSString *)uid
参数 类型 描述 uid NSString * 用户ID。 -
onPerformanceLow:当前设备性能不足回调。
- (void)onPerformanceLow;
-
onPerformanceRecovery:当前设备性能恢复回调。
- (void)onPerformanceRecovery;
-
onUpdateRoleNotifyWithOldRole:用户角色发生改变时回调(调用setClientRole方法切换角色成功时触发此回调)。
- (void)onUpdateRoleNotifyWithOldRole:(AliRtcClientRole)oldRole newRole:(AliRtcClientRole)newRole;
参数 类型 描述 oldRole AliRtcClientRole 变化前角色类型。 newRole AliRtcClientRole 变化后角色类型。 -
onFirstLocalVideoFrameDrawn:本地预览渲染获取到第一帧回调。
- (void)onFirstLocalVideoFrameDrawn;
-
onAudioPlayingStateChanged:伴奏播放回调。
/** * @brief 伴奏播放状态回调 * @param playState 当前播放状态 * @param errorCode 播放错误码 */ - (void)onAudioPlayingStateChanged:(AliRtcAudioPlayingStateCode)playState errorCode:(AliRtcAudioPlayingErrorCode)errorCode;
参数 类型 描述 playStatus AliRtcAudioPlayingStateCode 当前播放状态。 errorCode int 错误码。 -
onLastmileDetectResultWithQuality:网络质量探测回调。
- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;
参数 类型 描述 networkQuality AliRtcNetworkQuality 网络质量。 -
onAudioDeviceRecordLevel:音频采集设备测试回调。
- (void)onAudioDeviceRecordLevel:(int)level;
参数 类型 描述 level int 音频采集设备音量值。 -
onAudioDevicePlayoutLevel:音频播放设备测试回调。
- (void)onAudioDevicePlayoutLevel:(int) level;
参数 类型 描述 level int 音频播放设备音量值。 -
onAudioDevicePlayoutEnd:音频播放设备测试结束(音频文件播放完毕)。
- (void)onAudioDevicePlayoutEnd;
-
onVideoSampleCallback:订阅的视频数据回调。
- (void)onVideoSampleCallback:(NSString *)uid videoSource:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *)videoSample;
参数 类型 描述 uid NSString * 用户ID。 type AliRtcVideoSource 视频流类型。 videoSample AliRtcVideoDataSample * 视频帧率。 -
onCaptureVideoSample:订阅的本地采集视频数据回调。
- (void)onCaptureVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *)videoSample;
参数 类型 描述 videoSource AliRtcVideoSource 视频源。 videoSample AliRtcVideoDataSample * 视频帧率。 -
onRemoteVideoSample:订阅的远端视频数据回调。
- (void)onRemoteVideoSample:(NSString *)uid videoSource:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *)videoSample;
参数 类型 描述 uid NSString * 用户ID。 videoSource AliRtcVideoSource 视频流类型。 videoSample AliRtcVideoDataSample * 视频帧率。 -
onVideoTexture:订阅的视频Texture(纹理)回调。
- (int)onVideoTexture:(NSString *)uid videoTextureType:(AliRtcVideoTextureType)videoTextureType textureId:(int)textureId width:(int)width height:(int)height rotate:(int)rotate extraData:(long)extraData ;
参数 类型 描述 uid NSString * 用户ID。 videoTextureType AliRtcVideoTextureType 纹理类型。 textureId int 纹理ID。 width int 视频宽。 height int 视频高。 rotate int 视频方向。 extraData long onVideoDetectCallback回调中返回long数据类型的人脸数据结构体指针。 -
onJoinChannelResult:加入频道结果回调(该回调等同于调用joinChannel接口的block操作,当您在处理加入频道之后的事件,选择其一即可)。
- iOS代码,如下所示:
(void)onJoinChannelResult:(int)result authInfo:(AliRtcAuthInfo *)authInfo;
- Mac代码,如下所示:
- (void)onJoinChannelResult:(int)result;
参数 类型 描述 result int 加入频道结果,成功返回0,失败返回错误码。 - iOS代码,如下所示:
-
onPublishResult:发布流状态变化(该回调等同于调用publish接口的block操作,当您在处理发布之后的事件,选择其一即可)。
- (void)onPublishResult:(int)result isPublished:(BOOL)isPublished;
参数 类型 描述 result int 当前推拉流结果。 isPublished BOOL 是否处于推流状态,取值: - YES:是。
- NO:否。
-
onMediaRecordEvent:录制事件回调。
- (void)onMediaRecordEvent:(int)event filePath:(NSString *)filePath;
参数 类型 描述 event int 录制事件。取值: - 0:录制开始。
- 1:录制结束。
- 2:打开文件失败。
- 3:写文件失败。
filePath NSString * 录制文件路径。 -
onRtcStats:实时数据回调(2s触发一次)。
- (void)onRtcStats:(AliRtcStats)stats;
参数 类型 描述 stats AliRtcStats 数据回调。 -
onRtcLocalVideoStats:本地视频统计信息回调,2s触发一次。
- (void)onRtcLocalVideoStats:(AliRtcLocalVideoStats *)localVideoStats;
参数 类型 描述 localVideoStats AliRtcLocalVideoStats * 本地视频统计信息。 -
onRtcRemoteVideoStats:远端视频统计信息回调,2s触发一次。
- (void)onRtcRemoteVideoStats:(AliRtcRemoteVideoStats *)remoteVideoStats;
参数 类型 描述 remoteVideoStats AliRtcLocalVideoStats * 远端视频统计信息。 -
onAudioSampleCallback:订阅的音频数据回调。
- (void)onAudioSampleCallback:(AliRtcAudioSource)audioSource audioSample:(AliRtcAudioDataSample *)audioSample;
参数 类型 描述 audioSource AliRtcAudioSource 音频裸数据源类型。 audioSample AliRtcAudioDataSample * 音频裸数据。 -
onAudioVolumeCallback:用户音量大小回调。语音状态和uid。
- (void)onAudioVolumeCallback:(AliRtcAudioSource)audioSource userAudioinfo:(NSArray <AliRtcUserVolumeInfo *> *)array;
参数 类型 描述 audioSource AliRtcAudioSource 音频数据类型。 array NSArray <AliRtcUserVolumeInfo*> * 回调用户音量信息数组,包含用户UID,语音状态以及音量。 - onMediaExtensionMsgReceived:接收自定义数据回调,当房间中有用户发送自定义数据时,可以通过这个回调接收数据。
- (void)onMediaExtensionMsgReceived:(NSString *)uid message:(NSData *)data;
参数 类型 描述 uid NSString 用户UID。 data NSData 接收到的自定义数据。 - onAudioEffectFinished:音效播放结束回调。
- (void)onAudioEffectFinished:(int)soundId;
参数 类型 描述 soundId int 用户给该音效文件分配的ID。 - onVideoTextureCreated:订阅视频的Texture回调。
- (void)onVideoTextureCreated:(NSString *)uid videoTextureType:(AliRtcVideoTextureType)videoTextureType context:(void *)context;
参数 类型 描述 uid NSString * 用户的UID。 videoTextureType AliRtcVideoTextureType 纹理类型。 context void * OpenGL上下文。 - onVideoTextureDestory:订阅视频的Texture被销毁的回调。
- (void)onVideoTextureDestory:(NSString *)uid videoTextureType:(AliRtcVideoTextureType)videoTextureType;
参数 类型 描述 uid NSString * 用户的UID。 videoTextureType AliRtcVideoTextureType 纹理类型。 - onVideoPixelBuffer:订阅视频采集数据的回调。
- (void)onVideoPixelBuffer:(NSString *)uid videoSource:(AliRtcVideoSource)videoSource pixelBuffer:(CVPixelBufferRef)pixelBuffer;
参数 类型 描述 uid NSString * 用户的UID。 videoSource AliRtcVideoSource 视频裸数据源类型。 pixelBuffer CVPixelBufferRef 视频纹理buffer。 - onSubscribeResult:订阅远端用户媒体流的回调。
- (void)onSubscribeResult:(NSString *)uid result:(int)result audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;
参数 类型 描述 uid NSString * 远端用户ID。 result int 订阅结果,0表示订阅成功,失败返回错误码。 audioTrack AliRtcAudioTrack 订阅成功的音频流。 videoTrack AliRtcAudioTrack 订阅成功的视频流。 - onUnsubscribeResult:取消订阅远端用户媒体流的回调。
- (void)onUnsubscribeResult:(NSString *)uid result:(int)result;
参数 类型 描述 uid NSString * 远端用户ID。 result int 订阅结果,0表示取消订阅成功,失败返回错误码。