文档首页 > > SDK参考> iOS SDK> 接口参考>

事件回调

事件回调

分享
更新时间:2021/01/07 GMT+08:00

本章节介绍了iOS SDK的回调接口HWRtcEngineDelegate的详情。

表1 回调

接口

描述

onJoinSuccess

成功加入房间回调

onJoinRoomFailure

加入房间失败回调

onRejoinRoomSuccess

重新加入房间成功回调

onLeaveRoom

离开房间回调

onUserJoined

用户加入房间回调

onUserOffline

用户离开房间回调

onFirstRemoteVideoDecoded

引擎收到第一帧远端视频流并解码成功回调

onUserRoleChanged

用户角色切换成功回调

onConnStateChange

连接状态改变回调

onError

错误回调

onSignatureExpired

签名过期回调

onDeviceStateChanged

设备状态改变回调(仅macOS)

onAudioVolumeChanged

音频音量改变回调(仅macOS)

onAudioRouteChange

音频路由改变回调(仅iOS)

onLogUploadResult

日志上传结果回调

onLogUploadProgress

日志上传进度回调

onRemoteAudioStateChange

远端用户音频流状态改变回调

onRemoteVideoStateChange

远端用户视频流状态改变回调

onUserVolumeStats

音频订阅状态回调

onStartAudioFile

播放音频文件状态回调

onStopAudioFile

停止播放音频文件回调

onPauseAudioFile

暂停播放音频文件回调

onResumeAudioFile

恢复播放音频文件回调

onRenderVideoFrame

渲染视频帧回调

onPlaybackAudioFrame

渲染音频帧回调

onNetworkTestResult

入会前网络检测状态回调

onNetworkTestQuality

入会前网络检测质量状态回调

onConnectOtherRoom

开启跨房回调

onDisconnectOtherRoom

结束跨房回调

onVideoStats

视频流详情,2s触发一次回调

onAudioStats

音频流详情,2s触发一次回调

onSubStreamStats

辅流流详情,2s触发一次回调

onUserSubStreamAvailable

辅流状态回调

onJoinSuccess

-(void)onJoinSuccess:(NSString*)roomId userId:(NSString*)userId;

功能说明

成功加入房间,触发此回调。

回调参数
  • roomId :房间ID
  • userId:用户ID。

onJoinRoomFailure

- (void)onJoinRoomFailure;

功能说明

加入房间失败,触发此回调。

回调参数

onRejoinRoomSuccess

- (void)onRejoinRoomSuccess:(NSString *)roomid userid:(NSString *)userid;

功能说明

重新加入房间成功,触发此回调。

回调参数
  • roomid:房间ID。
  • userid: 用户ID。

onLeaveRoom

- (void)onLeaveRoom:(HWRtcLeaveReason)leaveReason statsInfo:(HWRtcStatsInfo *)statsInfo;

功能说明

离开房间,触发此回调。

回调参数

注意事项

APP调用leaveRoom接口时,会返回HWRtcLeaveReasonUserLeaveRoom,APP可以通过以下任一方式回退到登录界面。
  • APP在调用leaveRoom接口时退到登录界面;或者在收到到onLeaveRoom回调,且回调消息不等于HWRtcLeaveReasonUserLeaveRoom时(防止重复炒作),退到登录界面。
  • APP只在收到onLeaveRoom消息时退到登录界面。

onUserJoined

- (void)onUserJoined:(NSString*)roomId userId:(NSString*)userId userName:(NSString*)userName;

功能说明

远端用户加入房间成功,触发此回调。该回调提示有远端用户加入了房间,并返回新加入用户信息。

回调参数

  • roomId :房间ID。
  • userId:用户ID。
  • userName:用户昵称。

onUserOffline

- (void)onUserOffline:(NSString*)roomId userId:(NSString*)userId reason:(NSInteger)reason;

功能说明

远端用户离开当前房间,触发此回调。

回调参数
  • roomId :房间ID。
  • userId:用户ID。
  • reason:预留。

onFirstRemoteVideoDecoded

- (void)onFirstRemoteVideoDecoded:(NSString*)roomId userId:(NSString*)userId width:(int)width height:(int)height;

功能说明

引擎收到第一帧远端视频流并解码成功回调。

回调参数
  • roomId: 房间ID。
  • userId :用户ID。
  • width :视频流宽度。
  • height :视频流高度。

onUserRoleChanged

- (void)onUserRoleChanged:(NSString * _Nonnull)roomid oldRole:(HWRtcRole)oldRole newRole:(HWRtcRole)newRole;

功能说明

用户房间内角色切换成功,触发此回调。

回调参数
  • roomid :房间号。
  • oldRole :旧角色,具体请参见HWRtcRole
  • newRole :新角色,具体请参见HWRtcRole

onConnStateChange

- (void)onConnStateChange:(HWRtcConnStateType)state reason:(HWRtcConnChangeReason)reason description:(NSString*)description;

功能说明

网络连接状态发生变化,触发此回调。

回调参数

onError

- (void)onError:(NSString*)errorCode errorMsg:(NSString*)errorMsg;

功能说明

发生错误,触发此回调。返回客户端错误码或者服务端错误码。

回调参数
  • errorCode :错误码。
  • errorMsg :错误信息。

onSignatureExpired

- (void)onSignatureExpired;

功能说明

鉴权签名过期回调,需要app调用renewSignature更新签名。

onDeviceStateChanged

- (void)onDeviceStateChanged:(NSString*)deviceId deviceType:(HWRtcDeviceType)deviceType deviceState:(HWRtcDeviceState)deviceState;

功能说明

设备状态发生变化,触发此回调。

回调参数

注意事项

仅支持macOS。

onAudioVolumeChanged

- (void)onAudioVolumeChanged:(HWRtcDeviceType)deviceType volume:(unsigned int)volume;

功能说明

音频音量改变,触发此回调。

回调参数
  • deviceType :设备类型,具体请参见HWRtcDeviceType
  • volume:音量

注意事项

仅支持macOS。

onAudioRouteChange

- (void)onAudioRouteChange:(HWRtcAudioRoute)audioRoute;

功能说明

音频路由发生改变,触发此回调。如房间内插拔耳机触发此回调。

回调参数

audioRoute:音频路由类型,具体请参见HWRtcAudioRoute

注意事项

仅支持iOS。

onLogUploadResult

- (void)onLogUploadResult:(int)result;

功能说明

日志上传结果回调。

回调参数

  • 0:成功。
  • 1:失败。

onLogUploadProgress

- (void)onLogUploadProgress:(int)progress;

功能说明

日志上传进度回调。

回调参数

progress:日志上传进度,取值范围0-100。

onRemoteAudioStateChange

- (void)onRemoteAudioStateChange:(NSString * _Nonnull)roomid userid:(NSString * _Nonnull)userid state:(HWRtcRemoteAudioState)state reason:(HWRtcRemoteAudioStateReason)reason;

功能说明

远端用户音频流状态发生改变,会触发此回调。

回调参数
  • roomid:房间ID。
  • userid:用户ID。

onRemoteVideoStateChange

- (void)onRemoteVideoStateChange:(NSString * _Nonnull)roomid userid:(NSString * _Nonnull)userid state:(HWRtcRemoteVideoState)state reason:(HWRtcRemoteVideoStateReason)reason;

功能说明

远端用户视频流状态发生改变,会触发此回调。

回调参数

onUserVolumeStats

- (void)onUserVolumeStats:(NSArray <HWRtcMediaUsersVolumeInfo *> *_Nullable)usersVolumeArray  userNumber:(NSUInteger)userNumber totalVolume:(NSUInteger)totalVolume;

功能说明

音频订阅状态回调,包括总音量以及各发言人及其对应音量上报显示回调

回调参数
  • usersVolumeArray:回调发言人音量信息,具体请参见HWRtcMediaUsersVolumeInfo
  • userNumber:上报的发言人人数,最多上报4人,包含本地用户。
  • totalVolume:总音量。

onStartAudioFile

- (void)onStartAudioFile:(BOOL)isSuccess

功能说明

播放音频文件状态回调。

回调参数

isSuccess:YES表示播放成功,NO表示播放失败。

onStopAudioFile

- (void)onStopAudioFile:(BOOL)isSuccess

功能说明

停止播放音频文件回调。

回调参数

isSuccess:YES表示停止播放成功,NO表示停止播放失败。

onPauseAudioFile

- (void)onPauseAudioFile:(BOOL)isSuccess

功能说明

暂停播放音频文件回调。

回调参数

isSuccess:YES表示暂停播放成功,NO表示暂停播放失败。

onResumeAudioFile

- (void)onResumeAudioFile:(BOOL)isSuccess

功能说明

恢复播放音频文件回调。

回调参数

isSuccess:YES表示恢复播放成功,NO表示恢复播放失败。

onRenderVideoFrame

- (void)onRenderVideoFrame:(NSString *_Nonnull)roomid meidaDirection:(HWRTCMediaDirection)meidaDirection videoFrame:(HWRtcVideoFrame * _Nonnull)videoFrame;

功能说明

渲染视频帧回调。

回调参数

onPlaybackAudioFrame

- (void)onPlaybackAudioFrame:(NSString *_Nonnull)roomid meidaDirection:(HWRTCMediaDirection)meidaDirection audioFrame:(HWRtcAudioFrame * _Nonnull)audioFrame;

功能说明

音频自渲染回调。需要调用setExternalAudioFrameOutput接口开启音频自渲染,从而触发该回调。

回调参数
  • roomid :房间ID。
  • meidaDirection:数据源(本地/远端数据),具体请参见HWRTCMediaDirection
  • audioFrame:音频帧,具体请参见HWRtcAudioFrame

onNetworkTestResult

- (void)onNetworkTestResult:(HWRTCNetworkTestResult * _Nonnull)result;

功能说明

入会前网络检测状态回调。

回调参数

HWRTCNetworkTestResult :回调状态主要包括测试成功与否、上行和下行的网络带宽、丢包、延时和抖动,具体请参见HWRTCNetworkTestResult

onNetworkTestQuality

- (void)onNetworkTestQuality:(int)level;

功能说明

入会前网络质量检测回调。

回调参数

level:检测网络质量 1-4级,4级网络质量最好。

onConnectOtherRoom

- (void)onConnectOtherRoom:(NSString * _Nonnull)roomId role:(HWRtcRole)role errorCode:(int)errorCode msg:(NSString * _Nonnull)msg;

功能说明

开启跨房回调。

回调参数

  • roomId :房间ID。
  • role:角色,具体请参见HWRtcRole
  • errorCode:错误码。
  • msg:错误描述。

onDisconnectOtherRoom

- (void)onDisconnectOtherRoom:(NSString * _Nonnull)roomId role:(HWRtcRole)role errorCode:(int)errorCode msg:(NSString * _Nonnull)msg;

功能说明

结束跨房回调。

回调参数

  • roomId :房间ID。
  • role:角色,具体请参见HWRtcRole
  • errorCode:错误码。
  • msg:错误描述。

onVideoStats

- (void)onVideoStats:(NSArray <HWRtcVideoStatsInfo *> * _Nullable)videoStatsArray remoteVideoInfo:(NSArray <HWRtcVideoStatsInfo *>* _Nullable)remoteVideoStatsInfos;

功能说明

视频流详情,2s触发一次回调。

回调参数

onAudioStats

- (void)onAudioStats:(NSArray <HWRtcAudioStatsInfo *> * _Nullable)audioStatsArray remoteAudioInfo:(NSArray <HWRtcAudioStatsInfo *> * _Nullable)remoteAudioStatsInfos;

功能说明

音频流详情,2s触发一次回调。

回调参数

onSubStreamStats

- (void)onSubStreamStats:(NSArray <HWRtcVideoStatsInfo *> * _Nullable)subStreamStatsArray remoteVideoInfo:(NSArray <HWRtcVideoStatsInfo *> * _Nullable)remoteVideoStatsInfos;

功能说明

共享流详情,2s触发一次回调。

回调参数

onUserSubStreamAvailable

- (void)onUserSubStreamAvailable:(NSString * _Nonnull)roomId userId:(NSString * _Nonnull)userId isAvailable:(BOOL)isAvailable;

功能说明

辅流状态回调。

回调参数

  • roomId:房间号。
  • userId:用户ID。
  • isAvailable:YES表示辅流推送中,NO表示辅流停止推送。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问