华为云用户手册

  • HRTCEngineContext 表69 引擎初始化参数 属性 类型 描述 engineConfig HRTCEngineConfig 引擎配置项,具体请参见HRTCEngineConfig logConfig HRTCLogConfig 日志配置项,具体请参见HRTCLogConfig eventHandler IHRTCEngineEventHandler 事件回调,具体请参见IHRTCEngineEventHandler
  • HRTCAudioFileState 表66 音频文件播放状态 属性 描述 HRTC_AUDIO_FILE_OPEN_COMPLETED 成功打开音频文件 HRTC_AUDIO_FILE_OPENING 正在打开音频文件 HRTC_AUDIO_FILE_IDLE 音频文件播放就绪 HRTC_AUDIO_FILE_PLAYING 音频文件播放中 HRTC_AUDIO_FILE_PLAY_COMPLETED 音频文件播放完成 HRTC_AUDIO_FILE_PAUSED 音频文件暂停播放 HRTC_AUDIO_FILE_STOPPED 音频文件停止播放 HRTC_AUDIO_FILE_FAILED 音频文件播放失败 HRTC_AUDIO_FILE_POSITION_UPDATE 音频文件播放进度更新 HRTC_AUDIO_FILE_STATE_UNKNOWN 音频文件播放状态未知
  • HRTCDstMultiRoomMediaInfo 表79 HRTCDstMultiRoomMediaInfo 属性 类型 描述 authorization const char* 目标跨房的鉴权信息 userId const char* 目标跨房的虚拟用户名 roomId const char* 目标跨房房间号 userRole HRTCRoleType 跨房角色 ctime long long 鉴权时间信息
  • HRTCMultiRoomMediaRelayState 表80 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 发生异常
  • HRTCAudioFileReason 表67 音频播放状态变化原因 枚举值 描述 HRTC_AUDIO_FILE_REASON_NONE 没有错误 HRTC_AUDIO_FILE_REASON_URL_NOT_FOUND 未找到URL HRTC_AUDIO_FILE_REASON_CODEC_NOT_SUPPORTED 解码器不支持该编码 HRTC_AUDIO_FILE_REASON_INVALID_ARGUMENTS 非法参数 HRTC_AUDIO_FILE_REASON_SRC_BUFFER_UNDERFLOW 播放缓冲区数据不足 HRTC_AUDIO_FILE_REASON_INTERNAL 内部错误 HRTC_AUDIO_FILE_REASON_INVALID_STATE 播放器内部状态错误 HRTC_AUDIO_FILE_REASON_NO_RESOURCE 没有该资源 HRTC_AUDIO_FILE_REASON_OBJ_NOT_INITIALIZED 对象未初始化 HRTC_AUDIO_FILE_REASON_INVALID_CONNECTION_STATE 播放器与服务器连接无效 HRTC_AUDIO_FILE_REASON_UNKNOWN_STREAM_TYPE 未知的媒体流类型 HRTC_AUDIO_FILE_REASON_VIDEO_RENDER_FAILED 渲染失败 HRTC_AUDIO_FILE_REASON_INVALID_MEDIA_SOURCE 无效的媒体资源 HRTC_AUDIO_FILE_REASON_UNKNOWN 状态未知
  • HRTCVideoRemoteView 表74 远端流视图 属性 描述 SurfaceView view 窗口句柄 HR TCS treamType streamType 流模式(LD/SD/HD/FHD/THD) String userId 用户ID boolean disableAdjustRes 是否自适应 HRT CS treamType minResolution 自适应场景下,建议的最低选择档位
  • HRTCLocalVideoStreamStateReason 表57 本地视频状态变化原因 枚举值 描述 HRTC_LOCAL_VIDEO_REASON_ERROR_OK 本地视频流状态正常 HRTC_LOCAL_VIDEO_REASON_ERROR_FAILURE 本地视频流出错原因不明确 HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_FAILURE 本地视频流录制失败,建议您检查录制设备是否正常工作 HRTC_LOCAL_VIDEO_REASON_ERROR_STOP_FAILURE 关闭采集失败 HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_DEVICE_NO_PERMISSION 没有摄像头权限 HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_DEVICE_BUSY 摄像头设备已占用 HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_APP_IN_BACKGROUND 应用处于后台 HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_OPEN_CAMERA_FAILED 打开摄像头设备失败 HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_MULTIPLE_FOREGROUND_APP 应用窗口处于侧拉、分屏、画中画模式 (仅适用于iOS) HRTC_LOCAL_VIDEO_REASON_ERROR_CAPTURE_DEVICE_DISCONNECTED 本地视频采集设备未连接 (仅适用windows和macOS)
  • HRTCOnStats 表65 引擎创建相关参数 属性 类型 描述 cpuAppUsage double app的cpu利用率,单位(%) cpuTotalUsage double cpu总利用率,单位(%) memoryAppUsageInKbytes int app占用内存,单位KB memoryAppUsageRatio double app占用的内存率,单位(%) memoryTotalUsageRatio double 总的内存利用率,单位(%) gatewayRtt int 到本地网关的延迟,单位ms sendBytes long 总的发送字节数,单位bytes sendVideoBytes long 视频的发送字节数,单位bytes sendAudioBytes long 音频的发送字节数,单位bytes receiveBytes long 总的接收字节数,单位bytes receiveVideoBytes long 视频的接收字节数,单位bytes receiveAudioBytes long 音频的接收字节数,单位bytes sendBitRate int 总的发送比特率,单位Kbps sendVideoBitRate int 视频的发送比特率,单位Kbps sendAudioBitRate int 音频的发送比特率,单位Kbps receiveBitRate int 总的接收比特率,单位Kbps receiveVideoBitRate int 视频的接收比特率,单位Kbps receiveAudioBitRate int 音频的接收比特率,单位Kbps sendLossRate int 发送丢包率,单位(%) receiveLossRate int 接收丢包率,单位(%) lastmileDelay int 到服务器的延迟,单位ms
  • HRTCNetworkQualityLevel 网络质量级别的数值越大,信号越好。 表46 网络质量级别 枚举值 描述 HRTC_NETWORK_QUALITY_UNKNOWN 网络质量未知 HRTC_NETWORK_QUALITY_EXCELLENT 网络质量非常好 HRTC_NETWORK_QUALITY_GOOD 网络质量好 HRTC_NETWORK_QUALITY_POOR 网络质量一般 HRTC_NETWORK_QUALITY_BAD 网络质量差 HRTC_NETWORK_QUALITY_VBAD 网络质量非常差
  • HRTCEngineConfig 表63 引擎创建相关参数 属性 类型 描述 context Context 上下文 appId String 应用ID,只有App ID相同的应用程序才能进入同一个房间进行互动。appId获取方法请参见应用管理 countryCode String 国家码,具体请参见国家码对照表 logEnable boolean 日志是否输出到文件,true为输出到文件,false为不输出到文件 logLevel HRTCLogLevel 日志等级,取值为HRTC_ LOG _LEVEL_ERROR、HRTC_LOG_LEVEL_WARNING、HRTC_LOG_LEVEL_INFO或HRTC_LOG_LEVEL_DEBUG,默认为HRTC_LOG_LEVEL_DEBUG logPath String 日志路径,需调用方保证路径合法可用,rtc仅做基础校验 logSize int 日志大小,单位为字节,目前固定10*1024
  • HRTCNetworkTestConfig 表44 网络探测参数 属性 类型 描述 userId String 必选,用户ID roomId String 房间ID,必选,建议值:userId+随机数拼接 signature String 必选,签名鉴权 ctime long 必选,时间戳 enableUplinkTest boolean 必选,是否开启上行流探测 enableDownlinkTest boolean 必选,是否开启上行流探测 expectedUplinkBitrate int 必选,用户期望的最高发送码率,单位为bps,范围为0以及 [100000, 5000000],设为0表示由SDK指定最高码率 expectedDownlinkBitrate int 必选,用户期望的最高接收码率,单位为bps,范围为0以及 [100000, 5000000],设为0表示由SDK指定最高码率
  • HRTCLocalAudioStreamStateReason 表54 本地音频状态变化原因 枚举值 描述 HRTC_LOCAL_AUDIO_REASON_ERROR_OK 本地音频流状态正常 HRTC_LOCAL_AUDIO_REASON_ERROR_FAILURE 本地音频流出错原因不明确 HRTC_LOCAL_AUDIO_REASON_ERROR_RECORD_FAILURE 本地音频流录制失败,建议您检查录制设备是否正常工作 HRTC_LOCAL_AUDIO_REASON_ERROR_STOP_FAILURE 关闭采集失败 HRTC_LOCAL_AUDIO_REASON_ERROR_AC CES S_DENIED 音频设备无法访问,可能是设备隐私权限设置问题 HRTC_LOCAL_AUDIO_REASON_ERROR_ON_EXCLUSIVE_MODE 音频设备处于独占模式,且被其他应用独占,可以通知用户取消独占模式 HRTC_LOCAL_AUDIO_REASON_ERROR_ENDPOINT_CREATE_FAILED 音频设备终端创建失败,音频设备被拔出,或者已重新配置,禁用,删除了音频硬件或关联的硬件资源不可用。使用其他音频设备,重启或者更新驱动(仅适用于windows) HRTC_LOCAL_AUDIO_REASON_ERROR_MMSYSERR_INVALPA RAM 音频设备API非法参数,目前已知是杀毒软件导致(仅适用于windows) HRTC_LOCAL_AUDIO_REASON_ERROR_MMSYSERR_NODRIVER 音频设备API返回无驱动,需要用户升级驱动(仅适用于windows) HRTC_LOCAL_AUDIO_REASON_ERROR_AUDIO_SERVER_NOT_RUNNING 用户windows audio服务未启动,或者启动失败(仅适用于windows) HRTC_LOCAL_AUDIO_REASON_ERROR__NO_DEVICE 没有设备(仅适用于windows) HRTC_LOCAL_AUDIO_REASON_ERROR__RESTART_FAILED 扬声器播放无数据,重启失败
  • HRTCAreaCode 表64 访问区域 枚举值 描述 HRTC_AREA_CODE_GLOB 全球(默认) HRTC_AREA_CODE_CN 中国 HRTC_AREA_CODE_NA 中北美 HRTC_AREA_CODE_SA 拉美 HRTC_AREA_CODE_EU 欧洲 HRTC_AREA_CODE_SEA 东南亚 HRTC_AREA_CODE_AF 非洲 HRTC_AREA_CODE_AS 亚洲
  • HRTCRemoteVideoStats 表18 远端视频流信息详情 属性 类型 描述 userId String 远端用户userId width int 视频宽 height int 视频高 bitRate int 视频码率 frameRate int 视频帧率,单位:fps packetLoss int 视频丢包率 delay int 时延,单位:ms jitter int 抖动 bytes long 字节数 rendererOutputFrameRate int 渲染帧率,单位:fps totalFrozenTime int 远端用户在加入房间后到离开房间前,发生视频卡顿的累计时长,单位:ms frozenRate int 远端用户在加入房间后到离开房间前,发生视频卡顿的累计时长占视频总有效时长的百分比,单位:%
  • HRTCConnChangeReason 表32 网络连接状态变化原因 枚举值 描述 HRTC_CONN_CHANGED_CONNECTING 正在连接 HRTC_CONN_CHANGED_JOIN_SUCCESS 加入房间成功 HRTC_CONN_CHANGED_RECONNECTING 重连中 HRTC_CONN_CHANGED_RECONNECT_SUCCESS 重连成功 HRTC_CONN_CHANGED_JOIN_FAILED 加入房间失败 HRTC_CONN_CHANGED_RECONNCET_FAILED 重连失败 HRTC_CONN_CHANGED_INTERRUPTED 连接中断 HRTC_CONN_CHANGED_KEEP_ALIVE_TIMEOUT 心跳超时 HRTC_CONN_CHANGED_LEAVE_ROOM 主动离开房间 HRTC_CONN_CHANGED_JOIN_ROOM_SERVER_ERROR 服务器异常 HRTC_CONN_CHANGED_SFU_BREAKDOWN sfu服务故障 HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_FAILED 鉴权失败,appId或者签名错误 HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_RETRY 鉴权失败,重试 HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_CLOCK_SYNC 鉴权时间戳校验失败 HRTC_CONN_CHANGED_JOIN_ROOM_URL_NOT_RIGHT URL错误 400 HRTC_CONN_CHANGED_JOIN_ROOM_SERVICE_UNREACHABLE 服务不可达503 HRTC_CONN_CHANGED_INTERNAL_ERROR 内部错误 HRTC_CONN_CHANGED_KICKED_OFF 被踢出房间 HRTC_CONN_CHANGED_SIGNATURE_EXPIRED 签名过期 HRTC_CONN_REASON_USER_REMOVED 用户移除 HRTC_CONN_REASON_ROOM_DISMISSED 房间解散 HRTC_CONN_CHANGED_REGION_NOT_COVERED 区域未覆盖,所在区域不能提供SparkRTC服务。 HRTC_CONN_CHANGED_LOST 连接异常
  • HRTCRemoteAudioStats 表19 远端音频流信息详情 属性 类型 描述 userId String 远端用户ID sampleRate int 音频采样率 channels int 音频频道数 recvVEL int 接收语音电平 bitRate int 音频码率 packetLoss int 音频丢包率 delay int 时延,单位:ms jitter int 抖动 bytes long 字节数 totalFrozenTime int 远端用户在加入房间后到离开房间前,发生音频卡顿的累计时长,单位:ms frozenRate int 远端用户在加入房间后到离开房间前,发生音频卡顿的累计时长占音频总有效时长的百分比,单位:%
  • HRTCConnStateTypes 表31 网络连接状态 枚举值 描述 HRTC_CONN_DISCONNECTED 连接断开 HRTC_CONN_CONNECTING 建立网络连接中 HRTC_CONN_CONNECTED 网络连接成功 HRTC_CONN_RECONNETING 重新建立网络连接中 HRTC_CONN_FAILED 网络连接失败 HRTC_CONN_LOST 网络连接异常 HRTC_CONN_INTERRUPTED 网络连接中断
  • HRTCRemoteVideoStreamStateReason 表42 远端视频状态变化原因 枚举值 描述 HRTC_REMOTE_VIDEO_REASON_REMOTE_OFFLINE 远端用户离线 HRTC_REMOTE_VIDEO_REASON_REMOTE_MUTED 远端用户停止视频流发送 HRTC_REMOTE_VIDEO_REASON_REMOTE_UNMUTED 远端用户开启视频流发送 HRTC_REMOTE_VIDEO_REASON_LOCAL_MUTED 本端已取消选看远端视频流 HRTC_REMOTE_VIDEO_REASON_LOCAL_UNMUTED 本端已开启选看远端视频流
  • HRTCLeaveReason 表37 离开房间原因 枚举值 描述 HRTC_LEAVE_REASON_USER_LEAVE_ROOM 用户主动离开 HRTC_LEAVE_REASON_SERVER_ERROR 服务器异常 HRTC_LEAVE_REASON_BREAKDOWN sfu服务故障 HRTC_LEAVE_REASON_SERVICE_UNREACHABLE 服务不可达 HRTC_LEAVE_REASON_INTERNAL_ERROR 内部错误 HRTC_LEAVE_REASON_KICKED_OFF 被踢 HRTC_LEAVE_REASON_SIGNATURE_EXPIRED 签名过期 HRTC_LEAVE_REASON_RECONNECT_FAILED 重连超时
  • HRTCRemoteAudioStreamStateReason 表39 远端音频状态变化原因 枚举值 描述 HRTC_REMOTE_AUDIO_REASON_REMOTE_OFFLINE 远端用户离线 HRTC_REMOTE_AUDIO_REASON_REMOTE_MUTED 远端用户停止音频流发送 HRTC_REMOTE_AUDIO_REASON_REMOTE_UNMUTED 远端用户开启音频流发送 HRTC_REMOTE_AUDIO_REASON_REMOTE_FIRST_DECODED 远端用户音频解码第一帧
  • HRTCLocalVideoStats 表16 本地视频流信息详情 属性 类型 描述 width int 视频宽 height int 视频高 bitRate int 视频码率 frameRate int 视频帧率,单位:fps packetLoss int 视频丢包率 delay int 时延,单位:ms jitter int 抖动 bytes long 字节数 sendFrameRate int 实际发送帧率,单位:fps
  • HRTCVideoEncParam 表12 视频编码参数属性说明 属性 类型 描述 streamType HRTCStreamType 视频流类型,根据HRTCStreamType和表14 不同分辨率下帧率和码率的推荐值设置需要的分辨率和宽高比 width int 视频宽度 height int 视频高度 frameRate int 视频帧率,可参考表14中的帧率进行设置 minFrameRate int 视频最小帧率,大于等于0,小于等于frameRate bitRate int 视频码率,可参考表14中的码率进行设置 minBitrate int 视频最小码率,大于等于0,小于等于bitrate 表13 视频编码参数方法说明 方法 描述 public HRTCVideoEncParam(HRTCStreamType streamType, int width, int height, int frameRate, int minFrameRate, int bitrate, int minBitrate); 【功能说明】 HRTCVideoEncParam构造函数。 【请求参数】 streamType:视频流类型,具体请参见HRTCStreamType。 width:视频宽度。 height:视频高度。 frameRate:视频帧率。 minFrameRate:视频最小帧率。 bitrate:视频码率。 minBitrate:视频最小码率。 【返回参数】 HRTCVideoEncParam类对象。 public HRTCStreamType getStreamType(); 【功能说明】 获取视频流类型。 【请求参数】 无 【返回参数】 视频流类型,具体参见HRTCStreamType。 public void setStreamType(HRTCStreamType streamType); 【功能说明】 设置视频流类型。 【请求参数】 streamType:流类型,具体请参见HRTCStreamType。 【返回参数】 视频流类型,具体参见HRTCStreamType。 表14 不同分辨率下帧率和码率的推荐值 分辨率 分辨率类型 比例 最小帧率(fps) 最大帧率(fps) 最小码率 最大码率 160 X 90 LD 16:9 10 30 64 270 320 X 180 SD 16:9 10 30 80 600 480 X 270 HD 16:9 10 30 160 1050 640 X 360 HD 16:9 10 30 200 1700 800 X 450 FHD 16:9 10 30 300 2100 960 X 540 FHD 16:9 10 30 400 2400 1120 X 630 FHD 16:9 10 30 450 2800 1280 X 720 FHD 16:9 10 30 500 4000 120 X 90 LD 4:3 10 30 64 240 160 X 120 SD 4:3 10 30 64 270 240 X 180 SD 4:3 10 30 80 450 320 X 240 HD 4:3 10 30 100 600 400 X 300 HD 4:3 10 30 200 900 480 X 360 HD 4:3 10 30 200 1000 640 X 480 FHD 4:3 10 30 250 1800 960 X 720 FHD 4:3 10 30 450 3000 表15 不同场景下帧率和码率的推荐值 分辨率 推荐帧率 通信场景推荐码率 直播场景推荐码率 160 X 90 15 90 180 320 X 180 15 200 400 480 X 270 15 350 700 640 X 360 15 450 900 640 X 360 30 850 1700 800 X 450 15 700 1400 800 X 450 30 1050 2100 960 X 540 15 850 1700 960 X 540 30 1200 2400 1120 X 630 15 950 1900 1120 X 630 30 1400 2800 1280 X 720 15 1200 2400 1280 X 720 30 2000 4000 120 X 90 15 80 160 160 X 120 15 90 180 240 X 180 15 150 300 320 X 240 15 200 400 400 X 300 15 300 600 480 X 360 15 350 700 480 X 360 30 500 1000 640 X 480 15 600 1200 640 X 480 30 900 1800 960 X 720 15 1000 2000 960 X 720 30 1500 3000
  • HRTCUserInfo 表8 用户信息 属性 类型 描述 userId String 用户ID userName String 用户名,UTF-8编码格式,可选。 ctime long 签名时间戳,单位秒,有signature时必选。 signature String 签名,可选,具体生成方法请参见接入鉴权。 role HRTCRoleType 角色 optionalInfo String 可选JSON字串[{key:param1,value:value1},{key:param2,value:value2}]
  • HRTCStatsInfo 表11 统计信息 属性 类型 描述 mildlyFrozenCounts long 600ms卡顿次数 severelyFrozenCounts long 超过1s卡顿次数 totalMildlyFrozenTime long 600ms卡顿总时长 totalSeverelyFrozenTime long 1s卡顿总时长 totalActiveTime long 总时间,包括每一路选看的视频流启动到停止的时间总和
  • HRTCJoinParam 表9 入会参数 属性 类型 描述 userId String 用户ID,支持最大长度64,支持数字、字母大小写、下划线、中线、"."字符。 userName String 用户名,UTF-8编码格式,可选,支持最大长度128。 ctime long 签名时间戳,单位秒,有signature时必选。 authorization String 签名,必填,鉴权私钥请在应用管理中获取。签名的具体生成方法请参见接入鉴权。支持最大长度为1024。 role HRTCRoleType 角色。 optionalInfo String 可选JSON字串[{key:param1,value:value1},{key:param2,value:value2}] roomId String 房间Id,支持最大长度64,支持数字、字母大小写、下划线、中线字符。 autoSubscribeVideo boolean 是否自动订阅视频。 autoSubscribeAudio boolean 是否自动订阅音频。 scenario HRTCRemoteAudioMode 使用的场景。 0:主动订阅(默认)。 1:TopN(千人)。 2:P2P。 3:RTSA CMD自动订阅。
  • HRTCEncryptionConfig 表5 端到端加密参数 属性 类型 描述 cryptionMode HRTCCryptionMode 加密模式 cryptionSec String 加密秘钥,仅sdk加密模式下需要设置。必须是长度大于等于32的16进制字符串。 suiteType HRTCSuiteType 加密算法,当前仅支持HRTC_ENCRYPTION_128_CTR,sdk加密模式下需要设置 secFormat HRTCCryptionSecFormat 秘钥格式,当前只支持16进制字符串。
  • setRemoteVideoStreamType public abstract int setRemoteVideoStreamType(String userId, HRTCVideoStreamType type); 【功能说明】 大小流模式,设置指定订阅的远端视频流类型。 【请求参数】 userId:远端用户唯一标识。 type:订阅的视频流类型,分为大流和小流,具体请参见HRTCVideoStreamType。
  • joinRoom public abstract int joinRoom(HRTCJoinParam joinParam); 【功能说明】 加入房间。 【请求参数】 joinParam:入会参数,具体请参见HRTCJoinParam。 【返回参数】 0:成功。 1:失败。 2:上下文为空。 【注意事项】 该方法将会触发以下回调: onConnectionStateChangedNotify:连接状态发送改变。 onJoinRoomSuccess:加入房间成功时回调。 onJoinRoomFailure: 加入房间失败时回调。 onRemoteUserOnline:加入房间成功后,通知房间内已加入用户的回调,不包括自己。
  • HRTCEngineContext 表92 引擎初始化参数 属性 类型 描述 engineConfig HRTCEngineConfig 引擎配置项,具体请参见HRTCEngineConfig。 logConfig HRTCLogConfig 日志配置项,具体请参见HRTCLogConfig。 eventHandler IHRTCEngineEventHandler 事件回调,具体请参见IHRTCEngineEventHandler。
  • HRTCLogConfig 表93 日志参数 属性 类型 描述 level HRTCLogLevel 日志级别,具体请参见HRTCLogLevel,默认值 HRTC_LOG_LEVEL_DEBUG,推荐使用HRTC_LOG_LEVEL_DEBUG。 path const char * 日志路径,需调用方保证路径合法可用,rtc仅做基础校验 logSize int 日志大小,默认值10M,推荐10M enable bool 日志开关
共100000条