华为云用户手册

  • 音频管理 表6 音频管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 enableLocalAudioStream 设置是否开启麦克风音频采集 √ √ √ √ adjustRecordingVolume 设置麦克风采集的音量(0-100) √ √ √ √ adjustPlaybackVolume 调整扬声器播放的音量(0-100) √ √ √ √ setShareComputerSound 设置是否开启系统音频采集、发送 √ √ x x muteLocalAudio 设置是否发送本地音频流 √ √ √ √ muteRemoteAudio 设置是否接收指定远端用户的音频流 √ √ √ √ muteAllRemoteAudio 设置是否接收远端所有用户的音频流 √ √ √ √ enableUserVolumeNotify 设置开启/关闭所有用户音量值上报并设置上报周期 √ √ √ √ setSpeakerModel 设置声音播放模式 x x √ √ echoTest 开始语音通话回路测试 √ x x x finishEchoTest 停止语音直播回路测试 √ x x x setDefaultSpeakerModel 设置默认声音播放模式 x x √ √ enableAudioTNR 设置是否开启音频降噪功能 √ √ √ √ sendAudioSeiMsg 发送音频SEI消息 √ √ √ √ setAudioFrameRecordParameters 设置音频采集回调的参数 √ √ √ √
  • 屏幕共享 表5 屏幕共享接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 getScreenShareSources 获取屏幕可共享对象列表 √ √ x √ setScreenShareTarget 选择屏幕共享对象 √ √ x √ startScreenShare 开启屏幕共享 √ √ x √ stopScreenShare 停止屏幕共享 √ √ x √ addHiddenShareWindow 将指定窗口加入屏幕共享排除列表 √ √ x √ deleteHiddenShareWindow 将指定窗口从屏幕共享排除列表中移除 √ √ x √ removeAllHiddenShareWindow 将所有窗口从屏幕共享排除列表中移除 √ √ x √ getScreenShareSources 获取屏幕可共享对象列表,包含缩略图 √ x x x
  • 辅流管理 表4 辅流管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 setRemoteAuxiliaryStreamViewRotation 设置远端辅流视图旋转角度 × x √ √ startRemoteAuxiliaryStreamView 开启辅流渲染视图(发起辅流选看) √ √ x √ stopRemoteAuxiliaryStreamView 关闭辅流渲染视图(停止辅流选看) √ √ x √ updateRemoteAuxiliaryStreamRenderMode 设置辅流视图显示模式,镜像模式 √ √ x √ setRemoteAuxiliaryStreamViewOrientation 设置远端辅流视图方向(横竖屏) × x √ √ setAuxiliaryVideoEncoderConfig 设置辅流编码参数 √ √ x √ setAuxiliaryVideoEncodeSmooth 设置是否开启辅流的流畅度优先(降低辅流选看分辨率) √ √ x √
  • 视频管理 表3 视频管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 enableLocalVideo 设置是否开启本地摄像头采集视频 √ √ √ √ setVideoEncoderConfig 设置视频发流编码参数 √ √ √ √ enableSmallVideoStream 大小流模式设置是否开启小流并设置小流编码参数 √ √ √ √ startLocalPreview 开始本地预览 √ √ √ √ stopLocalPreview 关闭本地预览 √ √ √ √ setupLocalView 设置本地渲染视图 √ √ √ √ updateLocalRenderMode 设置本地视图渲染模式,镜像模式 √ √ √ √ setupRemoteView 设置远端流渲染视图(发起选看,参数置空则停止选看) √ √ √ √ updateRemoteRenderMode 设置远端用户视图渲染模式,镜像模式 √ √ √ √ setRemoteVideoStreamType 大小流模式,设置远端视频流类型 √ √ √ √ setPriorRemoteVideoStreamType 大小流模式,设置所有订阅的远端视频流类型。 √ √ √ √ pushLocalVideo 设置是否发送本地视频流 √ √ √ √ pullAllRemoteVideo 设置是否接收所有用户的视频流 √ √ √ √ startRemoteStreamView 设置远端用户渲染视图(发起选看-老接口) √ √ √ √ stopRemoteStreamView 关闭远端用户的渲染视图(停止选看) √ √ √ √ setRemoteVideoAdjustResolution 设置是否开启远端分辨率自适应 √ √ √ √ setVideoEncoderMirror 设置编码器输出的画面(本地发流)镜像模式 √ √ √ √ setCameraConfig 设置摄像头参数 × × √ √ switchCamera 切换摄像头,移动端 × x √ √ startAllRemoteView 批量设置远端流视图 √ √ √ √ setRemoteViewRotation 设置远端流视图旋转角度 × x √ √ setRemoteViewOrientation 设置远端流视图方向(横竖屏) × x √ √ setVideoPaddingImage 设置关闭视频发流时发送的图片 √ √ √ √ pullAllRemoteVideo 设置是否接收所用户的视频流 √ √ √ √ setBeautyRetouchOption 设置是否开启美颜功能 × x √ √ enableVideoBrighten 设置是否开启增亮功能 √ × x x ApplyGSensorMode 设置是否开启重力感应 × x √ x startPublishStream 开始旁路推流 √ √ √ √ updateTransCoding 更新旁路推流 √ √ √ √ stopPublishStream 停止旁路推流 √ √ √ √ setVideoWaterMark 插入/删除水印 √ x x x setBackgroundBlur 设置本地视频背景虚化 √ x x √ setBackgroundReplace 设置本地视频背景替换 √ x x √ appendLocalView 设置本地视频另一个窗口显示 √ √ x x appendRemoteView 设置远端视频另一个窗口显示 √ √ x x
  • 房间功能 表2 房间功能接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 joinRoom 加入房间 √ √ √ √ leaveRoom 离开房间 √ √ √ √ renewAuthorization 签名更新 √ √ √ √ changeUserRole 设置用户的角色,角色切换使用 √ √ √ √ changeUserName 设置用户自己的昵称 √ √ √ √ createConnection 创建连接。跨房前需先创建连接 √ √ √ √ addMultiRoomMediaRelay 添加单个跨房 √ √ √ √ removeMultiRoomMediaRelay 删除单个跨房 √ √ √ √ stopMultiRoomMediaRelay 停止所有跨房 √ √ √ √
  • 初始化等基础接口 表1 初始化等基础接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 createHRtcEngine 创建IHRTCEngine对象 √ √ √ √ getHRtcEngine 获取创建后的IHRTCEngine对象 √ √ √ √ enableStats 开启打点统计,在initialize前调用 √ √ √ √ initialize IHRtcEngine对象初始化函数 √ √ √ √ release 释放IHRtcEngine对象资源,退出时调用 √ √ √ √ logUpload 开启日志上传 √ √ √ √ getVersion 获取当前SDK版本号 √ √ √ √ getAudioDeviceManager 获取系统音频设备管理对象 √ √ √ √ getVideoDeviceManager 获取系统视频设备管理对象 √ √ √ √ setJniLoadParams 设置jvm context 仅安卓使用 × × × √ setEncryption 设置端到端加密模式 √ √ √ √ setAccessResourceType 设置接入环境 √ √ √ √ setNetworkBandwidth 设置网络带宽限制 √ √ √ √ renewAppid 设置Appid √ √ √ √
  • 环境要求 Android SDK需要集成到APP工程中,建议您在如下推荐环境中进行集成开发。 准备Android Studio或者Eclipse集成开发环境,推荐使用Android Studio 3.3.2及以上。 准备Android运行环境:API 21、Android 5.0以上设备。 支持的终端CPU架构:armeabi-v7a、arm64-v8a。 手机的CPU架构可通过以下方式查询。 手机开启USB调试,连接上电脑,然后打开Windows操作系统中的cmd程序,输入如下命令: adb shell getprop ro.product.cpu.abi
  • onRemoteMicrophoneStateChanged - (void)onRemoteMicrophoneStateChanged:(NSString * _Nonnull)userId state:(HWRtcRemoteMicState)state; 【功能说明】 远端用户麦克风状态变更通知。 【回调参数】 userId:远端用户userId。 state:麦克风设备状态,具体请参见HWRtcRemoteMicState。
  • onUserNetworkQualityNotify - (void)onUserNetworkQualityNotify:(NSString *_Nullable)roomId userId:(NSString *_Nullable)userId txQuality:(HWRtcNetworkQualityLevel)txQuality rxQuality:(HWRtcNetworkQualityLevel)rxQuality; 【功能说明】 支持用户上报各自与近端SFU间的上下行网络质量,基于用户级,使本地用户能获取同房间内远端用户与其近端SFU间的网络质量。CMD广播时为房间级,将广播给订阅了此主播流的用户或者此主播被选为TOPN用户且观众订阅了该TOPN用户。 【回调参数】 roomId:用户所在房间号。 userId: 上报的用户id,0为本地,非0为远端。 txQuality:该用户的上行网络质量,具体请参见HWRtcNetworkQualityLevel。 rxQuality:该用户的下行网络质量,具体请参见HWRtcNetworkQualityLevel。
  • onMultiRoomMediaRelayStateChanged - (void)onMultiRoomMediaRelayStateChangedWithRoomId:(NSString *)roomId state:(HWRtcMultiRoomMediaRelayState)state code:(HWRtcMultiRoomMediaRelayStateCode)code 【功能说明】 跨房状态回调。 【回调参数】 roomId:跨房房间号。 state:状态类型,具体请参见HRTCMultiRoomMediaRelayState。 code:状态的具体原因,具体请参见HRTCMultiRoomMediaRelayStateCode。
  • onRemoteVideoStateChange - (void)onRemoteVideoStateChange:(NSString * _Nonnull)roomid userid:(NSString * _Nonnull)userid state:(HWRtcRemoteVideoState)state reason:(HWRtcRemoteVideoStateReason)reason; 【功能说明】 远端用户视频流状态发生改变,会触发此回调。 【回调参数】 roomid:房间ID。 userid :远端用户ID。 state:远端视频流状态,具体请参见HWRtcRemoteVideoState。 reason:远端视频流状态改变的原因,具体请参见HWRtcRemoteVideoStateReason。
  • onRenderExternalVideoFrame - (void)onRenderExternalVideoFrame:(NSString *_Nonnull)roomid meidaDirection:(HWRtcMediaDirection)meidaDirection videoFrame:(HWRtcVideoFrame * _Nonnull)videoFrame; 【功能说明】 渲染视频帧回调。需要调用setExternalVideoFrameOutputWithFormat接口开启视频自渲染,从而触发该回调。 【回调参数】 roomid:房间ID。 meidaDirection:数据源(本地/远端数据),媒体方向,具体请参见HWRTCMediaDirection。 videoFrame:视频帧详情,具体请参见HWRtcVideoFrame。
  • onAudioDeviceTestVolumeNotify - (void)onAudioDeviceTestVolumeNotify:(HWRtcAudioDeviceTestVolumeNotify * _Nonnull)result; 【功能说明】 本地音频采集音量回调。 【回调参数】 result:本地音频采集音量结果, 具体请参见HWRtcAudioDeviceTestVolumeNotify。
  • onUserAuxiliaryStreamAvailable - (void)onUserAuxiliaryStreamAvailable:(NSString * _Nonnull)roomId userId:(NSString * _Nonnull)userId isAvailable:(BOOL)isAvailable; 【功能说明】 辅流状态回调。 【回调参数】 roomId:房间ID。 userId:远端用户ID。 isAvailable:YES表示辅流推送中,NO表示辅流停止推送。
  • onLocalAudioStateChangedNotify -(void)onLocalAudioStateChangedNotify:(HWRtcLocalAudioState)state reason:(HWRtcLocalAudioStateReason)reason; 【功能说明】 本地音频流状态变化回调。 【回调参数】 state:本地音频流状态。具体请参见 HWRtcLocalAudioState。 reason:本地音频流状态变化原因。具体请参见 HWRtcLocalAudioStateReason。
  • onRemoteVideoResolutionChangedNotify - (void)onRemoteVideoResolutionChangedNotify:(NSString *_Nullable)userId width:(NSInteger)width height:(NSInteger)height; 【功能说明】 远端视频大小改变回调。 【回调参数】 userId:用户ID。 width:视频流宽度。 height:视频流高度。
  • onDeviceStateChangedNotify - (void)onDeviceStateChangedNotify:(NSString*)deviceId deviceType:(HWRtcDeviceType)deviceType deviceState:(HWRtcDeviceState)deviceState; 【功能说明】 设备状态发生变化,触发此回调。 【回调参数】 deviceId:设备ID。 deviceType:系统设备类型,具体请参见HWRtcDeviceType。 deviceState:系统设备状态,具体请参见HWRtcDeviceState。 仅支持macOS。
  • onNetworkTestResult - (void)onNetworkTestResult:(HWRtcNetworkTestResult * _Nonnull)result; 【功能说明】 加房间前网络探测结果回调。 【回调参数】 HWRtcNetworkTestResult:回调状态主要包括测试成功与否、上行和下行的网络带宽、丢包、延时和抖动,具体请参见HWRtcNetworkTestResult。
  • onLocalVideoStateChangedNotify -(void)onLocalVideoStateChangedNotify:(HWRtcLocalVideoState)state reason:(HWRtcLocalVideoStateReason)reason; 【功能说明】 本地视频流状态变化回调。 【回调参数】 state:本地视频流状态。具体请参见HWRtcLocalVideoState。 reason:本地视频流状态变化原因。具体请参见HWRtcLocalVideoStateReason。
  • onPlaybackExternalAudioFrame - (void)onPlaybackExternalAudioFrame:(NSString *_Nonnull)roomid meidaDirection:(HWRtcMediaDirection)meidaDirection audioFrame:(HWRtcAudioFrame * _Nonnull)audioFrame; 【功能说明】 音频自渲染回调。需要调用setExternalMediaFrameOutput接口开启音频自渲染,从而触发该回调。 【回调参数】 roomid :房间ID。 meidaDirection:数据源(本地/远端数据),具体请参见HWRTCMediaDirection。 audioFrame:音频帧详情,具体请参见HWRtcAudioFrame。
  • onAudioMixStateChangedNotify - (void)onAudioMixStateChangedNotify:(HWRtcAudioFileState)state reason:(HWRtcAudioFileReason)reason value:(NSUInteger)value; 【功能说明】 混音音频文件播放状态改变回调。 回调参数 state:音频文件播放状态,具体请参见 HWRtcAudioFileState reason:音频文件播放状态变化原因,具体请参见 HWRtcAudioFileReason value:state为HWRtcAudioFileOpenCompleted表示音频文件的时长,单位ms;state为HWRtcAudioFilePositionUpdate表示当前播放的位置,单位ms。其他情况下,value值无意义。
  • onLocalAudioMutedStatusDetected - (void)onLocalAudioMutedStatusDetected; 【功能说明】 本地静音但检测到音频输入回调。 【回调参数】 无 通过setVolumeNotifyInterval开启并设置回调周期,本端禁音后检测到麦克风有输入后定时上报。上报频率和setVolumeNotifyInterval的参数大小有关,参考值建议设置成200。
  • onRemoteAudioStateChange - (void)onRemoteAudioStateChange:(NSString * _Nonnull)roomid userid:(NSString * _Nonnull)userid state:(HWRtcRemoteAudioState)state reason:(HWRtcRemoteAudioStateReason)reason; 【功能说明】 远端用户音频流状态发生改变,会触发此回调。 【回调参数】 roomid:房间ID。 userid:远端用户ID。 state:远端音频流状态,具体请参见HWRtcRemoteAudioState。 reason:远端音频流状态改变的原因,具体请参见HWRtcRemoteAudioStateReason。
  • onLeaveRoom - (void)onLeaveRoom:(HWRtcLeaveReason)leaveReason statsInfo:(HWRtcStatsInfo *)statsInfo; 【功能说明】 离开房间,触发此回调。 【回调参数】 leaveReason:离开的房间原因,具体请参见HWRtcLeaveReason。 statsInfo:卡顿统计信息,具体请参见HWRtcStatsInfo。 APP调用leaveRoom接口时,会返回HWRtcLeaveReasonUserLeaveRoom,APP可以通过以下任一方式回退到登录界面。 APP在调用leaveRoom接口时退到登录界面,或者在收到到onLeaveRoom回调,且回调消息不等于HWRtcLeaveReasonUserLeaveRoom时(防止重复操作),退到登录界面。 APP只在收到onLeaveRoom消息时退到登录界面。
  • onFirstRemoteVideoDecoded - (void)onFirstRemoteVideoDecoded:(NSString*)roomId userId:(NSString*)userId width:(int)width height:(int)height; 【功能说明】 引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽度。 height:视频流高度。
  • onFirstRemoteVideoDecoded - (void)onFirstRemoteVideoDecoded:(NSString*)roomId userId:(NSString*)userId width:(int)width height:(int)height elapsed:(NSUInteger)elapsed; 【功能说明】 引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽度。 height:视频流高度。 elapsed:本端订阅远端用户视频到首帧解码后消耗的时间,单位ms。
  • onRemoteUserOffline - (void)onRemoteUserOffline:(NSString*)roomId userId:(NSString*)userId reason:(NSInteger)reason; 【功能说明】 远端用户离开当前房间,触发此回调。 本端用户离开当前房间,会回调当前房间所有用户offline。 【回调参数】 roomId:当前房间的房间ID。 userId:离开房间的远端用户ID。 reason:远端用户离线原因,预留参数。
  • onFirstRemoteAuxiliaryStreamDecoded - (void)onFirstRemoteAuxiliaryStreamDecoded:(NSString*)roomId userId:(NSString*)userId width:(int)width height:(int)height elapsed:(NSUInteger)elapsed; 【功能说明】 引擎收到第一帧远端视频流并解码成功回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽度。 height:视频流高度。 elapsed:本端订阅远端用户视频到首帧解码后消耗时间,单位ms。
  • onRemoteUserNameChangedNotify -(void)onRemoteUserNameChangedNotify:(NSString * _Nonnull)roomId userId:(NSString * _Nonnull)userId userName:(NSString * _Nonnull)userName; 【功能说明】 远端用户昵称变化,触发此回调。 【回调参数】 roomId:房间ID。 userId:用户ID。 userName:昵称。
  • onConnectionChangedNotify - (void)onConnectionChangedNotify:(HWRtcConnStateType)state reason:(HWRtcConnChangeReason)reason description:(NSString*)description; 【功能说明】 网络连接状态发生变化,触发此回调。 【回调参数】 state:网络连接状态,具体请参见HWRtcConnStateType。 reason:网络连接状态发生变化原因,具体请参见HWRtcConnChangeReason。 description:错误原因描述。
共100000条