华为云用户手册

  • getVideoDeviceManager virtual IHRTCVideoDeviceManager* getVideoDeviceManager() 【功能说明】 获取系统视频设备管理对象。通过该对象进行视频设备管理,具体请参见视频设备管理。 【请求参数】 无 【返回参数】 IHRTCVideoDeviceManager*:IHRTCVideoDeviceManager对象。 NULL:返回失败。
  • createConnection public abstract HRTCConnection createConnection(String roomId, IHRTCConnectionEventHandler eventHandler); 【功能说明】 根据房间ID,创建HRTCConnection对象,为跨房做准备。 通过此接口创建一个与房间关联的HRTCConnection连接对象。 该方法支持多次调用,创建多个HRTCConnection连接对象,调用每个对象中的joinRoom方法,可以同时加入到多个房间。在每个房间中,可以分别订阅和选看房间中的用户。 具体请参见事件回调(IHRTCConnectionEventHandler)中相关接口和回调。 【请求参数】 roomId:房间ID。 eventHandler:引擎事件句柄,用于加入房间、离开房间等事件回调,具体请参见事件回调(IHRTCConnectionEventHandler)。 【返回参数】 不为null:成功。 null:失败。 同一时间最多只能创建4个连接对象,每个连接对象对应的房间ID必须互不相同。 如果使用HRTCConnection对象加入房间,则加入房间的房间ID不能和已创建连接对象对应的房间ID相同。 同一时间只能以JOINER角色加入某一个房间。
  • joinRoom public abstract int joinRoom(HRTCJoinParam joinParam); 【功能说明】 加入房间。 【请求参数】 joinParam:入会参数,具体请参见HRTCJoinParam。 【返回参数】 0:成功。 1:失败。具体请参见客户端错误码。 2:上下文为空。 该方法将会触发以下回调: onConnectionStateChangedNotify:连接状态发送改变。 onJoinRoomSuccess:加入房间成功时回调。 onJoinRoomFailure:加入房间失败时回调,失败原因请参见•加入房间失败时,如何解决?。 onRemoteUserOnline:加入房间成功后,通知房间内已加入用户的回调,不包括自己。
  • onMultiRoomMediaRelayStateChanged - (void)onMultiRoomMediaRelayStateChangedWithRoomId:(NSString *)roomId state:(HWRtcMultiRoomMediaRelayState)state code:(HWRtcMultiRoomMediaRelayStateCode)code 【功能说明】 跨房状态回调。 【回调参数】 roomId:跨房房间号。 state:状态类型,具体请参见HRTCMultiRoomMediaRelayState。 code:状态的具体原因,具体请参见HRTCMultiRoomMediaRelayStateCode。
  • connection:onConnectionChangedNotify - (void)connection:(HWRtcConnection *)connection onConnectionChangedNotify:(HWRtcConnStateType)state reason:(HWRtcConnChangeReason)reason description:(NSString * _Nonnull)description; 【功能说明】 网络连接状态发生变化,触发此回调。 【回调参数】 connection:跨房引擎。 state:链接服务器状态,具体请参见HWRtcConnStateType。 reason:连接状态改变原因,具体请参见HWRtcConnChangeReason。 description:连接状态改变描述。
  • connection:onRemoteAudioStateChange - (void)connection:(HWRtcConnection *)connection onRemoteAudioStateChange:(NSString * _Nonnull)roomid userid:(NSString * _Nonnull)userid state:(HWRtcRemoteAudioState)state reason:(HWRtcRemoteAudioStateReason)reason; 【功能说明】 远端用户音频流状态发生改变,会触发此回调。 【回调参数】 connection:跨房引擎。 roomid:房间ID。 userid:远端用户ID。 state:远端音频流状态,具体请参见HWRtcRemoteAudioState。 reason:远端音频流状态改变原因,具体请参见HWRtcRemoteAudioStateReason。
  • connection:onRenderSuccessNotify - (void)connection:(HWRtcConnection *)connection onRenderSuccessNotify:(NSString *_Nonnull)userId isAux:(NSUInteger)isAux; 【功能说明】 用户视频流渲染成功通知回调。首帧渲染成功、分辨率变化或视频流中断后恢复触发。 【回调参数】 connection:跨房引擎 userId:用户ID。 isAux:YES表示是辅流,NO表示不是辅流。
  • connection:onRemoteMicrophoneStateChanged - (void)connection:(HWRtcConnection *)connection onRemoteMicrophoneStateChanged:(NSString * _Nonnull)userId state:(HWRtcRemoteMicState)state; 【功能说明】 远端用户麦克风状态变更通知。 【回调参数】 userId:远端用户userId。 state:麦克风设备状态,具体请参见HWRtcRemoteMicState。
  • connection:onMediaAddressNotify - (void)connection:(HWRtcConnection *)connection onMediaAddressNotify:(NSString * _Nonnull)mediaIpv4 mediaIpv6:(NSString * _Nonnull)mediaIpv6; 【功能说明】 加入房间成功之后,回调SFU的ipv4和ipv6地址。 【回调参数】 mediaIpv4:sfu ipv4地址。 mediaIpv6:sfu ipv6地址。
  • connection:onRemoteVideoStateChange - (void)connection:(HWRtcConnection *)connection onRemoteVideoStateChange:(NSString * _Nonnull)roomid userid:(NSString * _Nonnull)userid state:(HWRtcRemoteVideoState)state reason:(HWRtcRemoteVideoStateReason)reason 【功能说明】 远端用户视频流状态发生改变,会触发此回调。 【回调参数】 connection:跨房引擎。 roomid:房间ID。 userid:远端用户ID。 state:远端视频流状态,具体请参见HWRtcRemoteVideoState。 reason:远端视频流状态改变原因,具体请参见HWRtcRemoteVideoStateReason。
  • connection:onError - (void)connection:(HWRtcConnection *)connection onError:(int)errorCode errorMsg:(NSString * _Nonnull)errorMsg; 【功能说明】 发生错误,触发此回调。返回客户端错误码或者服务端错误码。 【回调参数】 connection:跨房引擎。 errorCode:错误码,具体请参见HRTCErrorCode。 errorMsg:错误信息描述。
  • connection:onRemoteVideoResolutionChangedNotify - (void)connection:(HWRtcConnection *)connection onRemoteVideoResolutionChangedNotify:(NSString *_Nullable)userId width:(NSInteger)width height:(NSInteger)height; 【功能说明】 远端视频大小改变回调。 【回调参数】 userId:用户ID。 width:视频流宽度。 height:视频流高度。
  • connection:onFirstRemoteAuxiliaryStreamDecoded -(void)connection:(HWRtcConnection *)connection onFirstRemoteAuxiliaryStreamDecoded:(NSString * _Nonnull)userId width:(int)width height:(int)height; 【功能说明】 引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽度。 height:视频流高度。
  • connection:onUserAuxiliaryStreamAvailable - (void)connection:(HWRtcConnection *)connection onUserAuxiliaryStreamAvailable:(NSString * _Nonnull)userId isAvailable:(BOOL)isAvailable; 【功能说明】 远端开启,停止辅流后,触发此回调。 【回调参数】 connection:跨房引擎。 userId:远端用户ID。 isAvailable:YES表示远端开启屏幕共享,NO表示远端停止屏幕共享。
  • connection:onFirstRemoteAuxiliaryStreamDecoded -(void)connection:(HWRtcConnection *)connection onFirstRemoteAuxiliaryStreamDecoded:(NSString * _Nonnull)userId width:(int)width height:(int)height elapsed:(NSUInteger)elapsed; 【功能说明】 引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽度。 height:视频流高度。 elapsed:首帧解码后消耗的时间,单位ms。
  • connection:onRejoinRoomSuccess - (void)connection:(HWRtcConnection *)connection onRejoinRoomSuccess:(NSString * _Nonnull)userid; 【功能说明】 重新加入房间回调。例如,网络异常后重连成功加入房间触发。 【回调参数】 connection:跨房引擎。 userid:用户ID。
  • connection:onLeaveRoom -(void)connection:(HWRtcConnection *)connection onLeaveRoom:(HWRtcLeaveReason)leaveReason statsInfo:(HWRtcStatsInfo * _Nonnull)statsInfo; 【功能说明】 离开房间,触发此回调。 【回调参数】 connection:跨房引擎。 leaveReason:离开的房间原因,具体请参见HWRtcLeaveReason。 statsInfo:卡顿统计信息,具体请参见HWRtcStatsInfo。 APP调用leaveRoom接口时,会返回HWRtcLeaveReasonUserLeaveRoom,APP可以通过以下任一方式回退到登录界面。 APP在调用leaveRoom接口时退到登录界面,或者在收到onLeaveRoom回调,且回调消息不等于HWRtcLeaveReasonUserLeaveRoom时(防止重复操作),退到登录界面。 APP只在收到onLeaveRoom消息时退到登录界面。
  • connection:onRemoteUserOffline - (void)connection:(HWRtcConnection *)connection onRemoteUserOffline:(NSString * _Nonnull)userId reason:(NSInteger)reason; 【功能说明】 远端用户离开跨房房间,触发此回调。 本端用户离开当前房间,会回调当前房间所有用户offline。 【回调参数】 connection:跨房引擎。 userId:离开房间的远端用户ID。 reason:远端用户离线原因,预留参数。
  • connection:onFirstRemoteVideoDecoded - (void)connection:(HWRtcConnection *)connection onFirstRemoteVideoDecoded:(NSString * _Nonnull)userId width:(int)width height:(int)height elapsed:(NSUInteger)elapsed; 【功能说明】 跨房引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 connection:跨房引擎。 userId:用户ID。 width:视频流宽度。 height:视频流高度。 elapsed: 首帧解码后消耗的时间,单位ms。
  • connection:onJoinRoomFailure - (void)connection:(HWRtcConnection *)connection onJoinRoomFailure:(int)errorCode errorMsg:(NSString * _Nonnull)errorMsg; 【功能说明】 加入房间失败,触发此回调。 【回调参数】 connection:跨房引擎。 errorCode:错误码,具体请参见HRTCErrorCode。 errorMsg:错误信息描述。
  • connection:onRemoteUserOnline - (void)connection:(HWRtcConnection *)connection onRemoteUserOnline:(NSString * _Nonnull)userId userName:(NSString * _Nonnull)userName; 【功能说明】 远端用户加入跨房房间成功,触发此回调。该回调提示有远端用户加入了跨房房间,并返回新加入用户信息。 【回调参数】 connection:跨房引擎。 userId:远端用户ID。 userName:远端用户昵称。
  • connection:onFirstRemoteVideoDecoded - (void)connection:(HWRtcConnection *)connection onFirstRemoteVideoDecoded:(NSString * _Nonnull)userId width:(int)width height:(int)height; 【功能说明】 跨房引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 connection:跨房引擎。 userId:用户ID。 width:视频流宽度。 height:视频流高度。
  • connection:onUserRoleChangedNotify - (void)connection:(HWRtcConnection *)connection onUserRoleChangedNotify:(HWRtcRole)oldRole newRole:(HWRtcRole)newRole; 【功能说明】 用户跨房的房间内角色切换成功,触发此回调。 【回调参数】 connection:跨房引擎。 oldRole:切换前的角色,具体请参见HWRtcRole。 newRole:切换成功后的角色,具体请参见HWRtcRole。
  • HRTCMultiRoomMediaRelayStateCode 表97 HRTCMultiRoomMediaRelayStateCode 属性 描述 HRTC_MULTI_ROOM_MEDIA_RELAY_OK 正常状态 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_SERVER_NO_RESPONSE 服务端无响应 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_INTERNAL_ERROR 服务器内部出错 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_USER_OVER_LIMIT 用户跨房超出限制数 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_OVER_LIMIT 房间跨房用户超出限制数 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_REQ_EMPTY 跨房请求消息体为空 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_OPERATION_CONFLICT 跨房请求,加入和退出存在冲突 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_SRC_USERINFO_INVALID 跨房请求原用户信息无效 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_WITH_ORI 跨房房间与原用户房间相同 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_REPEAT 跨房请求房间重复 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_USER_EXISTED 跨房用户已存在 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_INVALID_REQUEST 无效请求 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_IS_NOT_EXIST 房间不存在 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_FRAME_TYPE_NOT_EQUAL 跨房源房间和目的房间加密模式不一致 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_AUTHENTICATION_FAILURE 鉴权失败 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_REMOVE_INFO_NOT_EXIST 退出跨房信息不存在 HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_EXCEPTION_STOP 异常退出跨房
  • HRTCMultiRoomMediaRelayState 表96 HRTCMultiRoomMediaRelayState 属性 描述 HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_IDLE 就绪状态 HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_CONNECTING 正在连接 HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_RUNNING 主播成功加入目标房间 HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_FAILURE 发生异常
  • HRTCDstMultiRoomMediaInfo 表95 HRTCDstMultiRoomMediaInfo 属性 类型 描述 authorization const char* 目标跨房的鉴权信息 userId const char* 目标跨房的虚拟用户名 roomId const char* 目标跨房房间号 userRole HRTCRoleType 跨房角色 ctime long long 鉴权时间信息
  • HWRtcStartAudioFileParam 表80 音频文件参数 属性 类型 描述 fullFilePath NSString 音频文件路径 playMode HWRtcAudioFilePlayMode 播放模式 cycle NSUInteger 音频播放次数,0表示无限循环 replace NSUInteger 是否用音频文件替换麦克风采集的声音。1表示只使用音频文件发送到远端,0表示将本地麦克风采集并和音频文件混音后发送到远端
  • HWRtcRemoteVideoStats 表62 远端视频统计回调 枚举值 描述 @(strong, nonatomic) NSString *userId; 用户ID(本地视频信息为空) @ (assign, nonatomic) NSUInteger width; 视频宽 @ (assign, nonatomic) NSUInteger height; 视频高 @ (assign, nonatomic) NSUInteger bitRate; 视频码率 @ (assign, nonatomic) NSUInteger frameRate; 视频帧率 @ (assign, nonatomic) NSUInteger packetLoss; 视频丢包率 @ (assign, nonatomic) NSUInteger delay; 视频时延 @ (assign, nonatomic) NSUInteger jitter; 视频抖动 @ (assign, nonatomic) long long bytes; 字节数 @ (assign, nonatomic) NSUInteger sendFrameRate; 实际发送帧率,单位:fps @ (assign, nonatomic) NSUInteger rendererOutputFrameRate; 渲染帧率,单位:fps @ (assign, nonatomic) NSUInteger totalFrozenTime; 远端用户在加入房间后到离开房间前,发生视频卡顿的累计时长,单位:ms @ (assign, nonatomic) NSUInteger frozenRate; 远端用户在加入房间后到离开房间前,发生视频卡顿的累计时长占视频总有效时长的百分比,单位:%
  • HWRtcLocalAudioStats 表63 本端音频统计回调 属性 描述 @(strong, nonatomic) NSString *userId; 用户ID(本地音频信息为空) @ (assign, nonatomic) NSUInteger sampleRate; 音频采样率 @ (assign, nonatomic) NSUInteger channels; 音频声道数 @ (assign, nonatomic) NSUInteger bitRate; 音频码率 @ (assign, nonatomic) NSUInteger packetLoss; 音频丢包率 @ (assign, nonatomic) NSUInteger delay; 音频时延 @ (assign, nonatomic) NSUInteger jitter; 音频抖动
  • HWRtcRemoteAudioStats 表64 远端音频统计回调 属性 描述 @(strong, nonatomic) NSString *userId; 用户ID(本地音频信息为空) @ (assign, nonatomic) NSUInteger sampleRate; 音频采样率 @ (assign, nonatomic) NSUInteger channels; 音频声道数 @ (assign, nonatomic) NSUInteger bitRate; 音频码率 @ (assign, nonatomic) NSUInteger packetLoss; 音频丢包率 @ (assign, nonatomic) NSUInteger delay; 音频时延 @ (assign, nonatomic) NSUInteger jitter; 音频抖动 @ (assign, nonatomic) NSUInteger totalFrozenTime; 远端用户在加入房间后到离开房间前,发生音频卡顿的累计时长,单位:ms 说明:仅onRemoteAudioStatsNotify回调中携带此数据 @ (assign, nonatomic) NSUInteger frozenRate; 远端用户在加入房间后到离开房间前,发生音频卡顿的累计时长占音频总有效时长的百分比,单位:% 说明:仅onRemoteAudioStatsNotify回调中携带此数据
共100000条