
# 数据类型
本章节列出了全平台C++ SDK的所有数据类型，您可以结合IHRTCEngine接口和回调进行开发。
表1数据类型 
| 类型                                                                                              | 描述                 |
|:---|:---|
| [HRTCLogConfig]                                             | 日志信息               |
| [HRTCUserInfo]                     | 用户信息               |
| [HRTCEncryptionConfig]                                     | 端到端加密参数            |
| [HRTCCameraConfig]                                           | 相机参数               |
| [HRTCJoinParam]                                            | 入会参数               |
| [HRTCStatsInfo]                     | 卡顿统计信息             |
| [HRTCVideoEncParam]                   | 视频编码分辨率            |
| [HRTCLocalVideoStats]              | 本地视频流信息            |
| [HRTCRemoteVideoStats]               | 远端视频流信息            |
| [HRTCLocalAudioStats]                | 本地音频流信息            |
| [HRTCRemoteAudioStats]               | 远端音频流信息            |
| [HRTCConnectInfo]                   | 跨房信息               |
| [HRTCFrameBuffer]                                          | 媒体数据               |
| [HRTCVideoFrame]                      | 视频帧                |
| [HRTCAudioFrame]                     | 音频帧                |
| [HRTCVolumeInfo]                      | 发言人音量信息            |
| [HRTCNetworkTestConfig]             | 网络探测参数配置           |
| [HRTCNetworkTestResultParam]         | 网络探测结果参数           |
| [HRTCNetworkTestResult]               | 网络探测结果             |
| [HRTCStreamType]                    | 流类型                |
| [HRTCVideoStreamType]                | 大小流模式流类型           |
| [HRTCVideoDisplayMode]             | 图像填充模式             |
| [HRTCMediaType]                    | 媒体类型               |
| [HRTCRoleType]                        | 用户角色               |
| [HRTCLogLevel]                      | 日志级别               |
| [HRTCConnStateTypes]                  | 网络连接状态             |
| [HRTCConnChangeReason]              | 网络状态变化原因           |
| [HRTCDeviceType]                     | 系统音视频设备设备类型        |
| [HRTCDeviceState]                    | 系统音视频设备设备状态        |
| [HRTCLeaveReason]                     | 离开房间原因             |
| [HRTCVideoImageFormat]                | 视频帧图片存储格式          |
| [HRTCVideoImageBufferType]                                   | 视频帧缓冲区存储类型         |
| [HRTCImageBufferFormat]                                    | 视频帧图片格式            |
| [HRTCAudioFrameType]                  | 音频帧格式              |
| [HRTCRemoteAudioStreamState]         | 远端音频状态             |
| [HRTCRemoteAudioStreamStateReason] | 远端音频状态变化原因         |
| [HRTCRemoteVideoStreamState]       | 远端视频状态             |
| [HRTCRemoteVideoStreamStateReason]     | 远端视频状态变化原因         |
| [HRTCVideoMirrorType]                | 镜像模式               |
| [HRTCMediaDirection]                   | 数据源方向              |
| [HRTCNetworkTestState]                 | 网络探测状态之成功与否        |
| [HRTCNetworkQualityLevel]          | 网络质量信号等级           |
| [HRTCConstant]                       | 常量说明               |
| [HRTCRotationParam]                  | 摄像头参数              |
| [HRTCSpeakerModel]                    | 声音播放模式             |
| [HRTCVideoRemoteView]               | 远端流视图              |
| [HRTCVideoRotation]                | 视频流旋转角度            |
| [HRTCVideoOrientation]                 | 方向（横竖屏）            |
| [HRTCScreenShareIconType]               | 捕获的共享屏幕图像类型        |
| [HRTCScreenShareSourceInfo]           | 捕获的共享屏幕资源信息        |
| [HRTCSrceenShareOptionalInfo]         | 其他共享屏幕的可选补充信息      |
| [HRTCScreenShareType]                 | 共享类型               |
| [HRTCRect]                              | 区域共享的自定义位置（要求有效矩形） |
| [HRTCVideoAuxiliaryEncParam]            | 辅流编码参数             |
| [HRTCLocalAudioStreamState]             | 本地音频状态             |
| [HRTCLocalAudioStreamStateReason]    | 本地音频状态变化原因         |
| [HRTCLocalVideoStreamState]          | 本地视频状态             |
| [HRTCLocalVideoStreamStateReason]     | 本地本地视频状态变化原因       |
| [HRTCQualityInfo]                   | 网络质量信息             |
| [HRTCMediaConnStateTypes]            | 媒体连接状态类型           |
| [HRTCMediaConnChangeReason]            | 媒体连接状态改变原因         |
| [HRTCRemoteAudioMode]                  | 远端音频模式             |
| [HRTCVideoEncodeResolutionMode]                             | 视频编码分辨率比例模式        |
| [HRTCEngineConfig]                                           | 引擎初始化配置            |
| [HRTCAreaCode]                                               | 访问区域               |
| [HRTCOnStats]                                              | 统计回调               |
| [HRTCAudioFileState]                                          | 音频播放状态             |
| [HRTCAudioFileReason]                                      | 音频播放状态改变原因         |
| [HRTCMediaOptions]                                           | 音视频自动选看和订阅选项       |
| [HRTCSfuType]                                                | SFU类型              |
| [HRTCRtmpUrlList]                                           | rtmp推流url列表        |
| [HRTCTranscodeConfig]                                        | rtmp推流参数结构体        |
| [HRTCUrlStatusList]                                          | rtmp推流回调url状态列表    |
| [HRTCModelType]                                             | 模型类型               |
| [HRTCAudioDeviceTestVolumeNotify]                           | 音频设备测试回调数据         |
| [HRTCShareSourceInfoChangedType]                             | 正在共享的目标发生改变回调数据    |
| [HRTCSize]                                                 | 获取的缩略图数据分辨率        |
| [HRTCNetworkBandwidth]                                    | 带宽设置参数             |
| [HRTCRemoteMicState]                                        | 麦克风设备状态            |
| [HRTCMultiRoomMediaRelayConfiguration]                     | 跨房配置               |
| [HRTCSrcMultiRoomMediaInfo]                                  | 源房间信息              |
| [HRTCDstMultiRoomMediaInfo]                                  | 目标房间信息             |
| [HRTCMultiRoomMediaRelayState]                               | 跨房状态               |
| [HRTCMultiRoomMediaRelayStateCode]                         | 跨房状态码              |
   
#### HRTCLogConfig
表2日志信息 
| 函数\&属性             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|
| HRTCLogLevel level | 日志级别，具体请参见[HRTCLogLevel]。 - ERROR：错误级别日志  - WARNING：警告级别日志  - INFO：信息级别日志  - DEBUG：调试级别日志   默认级别为DEBUG。 |
| const char\* path  | 日志路径，长度不超过MAX_LOG_PATH_LEN = 226。默认路径为当前程序目录"\\\\rtcLog"。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 #### HRTCUserInfo
表3用户信息 
| 函数\&属性                  | 描述                                                                                          |
|:---|:---|
| HRTCRoleType roleType   | 用户角色，具体请参见[HRTCRoleType]。         |
| const char\* userId     | 用户ID，用户标识，长度不超过HRTC_MAX_USERID_LEN，支持64个字节的大小写字母、数字、下划线（_）中划线（-）随机组合。                       |
| const char\* userName   | 用户昵称，用户标识，长度不超过HRTC_MAX_USERNAME_LEN。                                                       |
| const char\* signature  | 鉴权签名字串。                                                                                     |
| long long ctime         | UTC时间戳， 单位：秒。                                                                               |
| const char\* optionInfo | 预留字段，optionalInfo是一个KV的JSON字串，可选。例如：\[{key:param1,value:value1},{key:param2,value:value2}\] |
   
 #### HRTCEncryptionConfig
表4相机参数 
| 函数\&属性       | 描述                                                                          |
|:---|:---|
| cryptionMode | HRTCCryptionMode，加密模式                                                       |
| suiteType    | HRTCSuiteType，加密算法，仅模式HRTC_CRYPTO_AUTHENTICATION_SDK需要                      |
| cryptionSec  | char \*,加密密钥，仅模式HRTC_CRYPTO_AUTHENTICATION_SDK需要设置。必须是字符长度大于等于32位的16进制字符串。  |
| secFormat    | [HRTCCryptionSecFormat]，密钥格式，当前只支持16进制字符串。 |
   
 #### HRTCCryptionSecFormat
表5加密模式 
| 枚举值             | 描述                  |
|:---|:---|
| HRTC_HEX_STRING | 16进制字符串格式。当前只支持此格式。 |
   
#### HRTCCryptionMode
表6加密模式 
| 枚举值                            | 描述                                    |
|:---|:---|
| HRTC_CRYPTO_DEFAULT            | 不开启端到端加密，此时srtp认证（包校验）+加密。            |
| HRTC_CRYPTO_AUTHENTICATION_SDK | 开启端到端加密，srtp只认证（包校验），sdk内部加密，必须配置key。 |
| HRTC_CRYPTO_AUTHENTICATION_APP | 开启端到端加密，srtp只认证（包校验），应用层加密，需注册回调。     |
   
 #### HRTCCameraConfig
表7相机参数 
| 函数\&属性                        | 描述                    |
|:---|:---|
| HRTCCameraDirection direction | 相机相机方向，移动端有效，前置，后置摄像头 |
   
#### HRTCCameraDirection
表8相机方向 
| 枚举值               | 描述     |
|:---|:---|
| HRTC_CAMERA_REAR  | 后置摄像头。 |
| HRTC_CAMERA_FRONT | 前置摄像头。 |
   
 #### HRTCJoinParam
表9入会参数 
| 函数\&属性                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|
| HRTCRoleType userRole        | 用户角色，具体请参见[HRTCRoleType]。                                                                                                                                                                                                                                                                                                                                                                              |
| const char\* userId          | 用户ID，用户标识，长度不超过HRTC_MAX_USERID_LEN，支持64个字节的大小写字母、数字、下划线（_）中划线（-）随机组合。                                                                                                                                                                                                                                                                                                                                                                                            |
| const char\* userName        | 用户昵称，用户标识，长度不超过HRTC_MAX_USERNAME_LEN。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| const char\* authorization   | 签名，鉴权私钥请在[应用管理](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0001.html#section0)中获取，签名的具体生成方法请参见[接入鉴权](https://support.huaweicloud.com/csdk-rtc/rtc_05_0348.html)。支持最大长度为1024。                                                                                                                                                                                                                                                                          |
| long long ctime              | UTC时间戳， 单位：秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| const char\* optionInfo      | 预留字段，optionalInfo是一个KV的JSON字串，可选。例如，\[{key:param1,value:value1},{key:param2,value:value2}\]                                                                                                                                                                                                                                                                                                                                                                      |
| const char\* roomId          | 房间号，支持最大长度64，支持数字、字母大小写、下划线、中线字符。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| bool autoSubscribeAudio      | 是否自动订阅音频。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| bool autoSubscribeVideo      | 是否自动订阅视频。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| HRTCRemoteAudioMode scenario | 使用的场景，具体请参见[HRTCRemoteAudioMode]。 - 0：主动订阅（默认）。  - 1：TopN（千人）。  - 2：P2P。  - 3：RTSA CMD自动订阅。   |
   
 #### HRTCDeviceInfo
表10设备信息 
| 函数\&属性                                         | 描述   |
|:---|:---|
| char deviceName\[HRTC_MAX_DEVICE_NAME_LEN+ 1\] | 设备名称 |
| char deviceId\[HRTC_MAX_DEVICE_ID_LEN+ 1\]     | 设备id |
   
 #### HRTCStatsInfo
表11卡顿统计信息 
| 函数\&属性                            | 描述               |
|:---|:---|
| long long mildlyFrozenCounts      | 600ms卡顿次数。       |
| long long severelyFrozenCounts    | 超过1s卡顿次数。        |
| long long totalMildlyFrozenTime;  | 600ms卡顿总时长。      |
| long long totalSeverelyFrozenTime | 1s卡顿总时长。         |
| long long totalActiveTime         | 总时间，包括每一路选看时间总和。 |
   
 #### HRTCVideoEncParam
表12视频编码分辨率 
| 函数\&属性                     | 描述                                                                                                                                                                         |
|:---|:---|
| HRTCStreamType streamType; | 视频编码分辨率选择。具体请参见[HRTCStreamType]。                                                                               |
| int width;                 | 视频宽，根据[HRTCStreamType]和[不同分辨率下码率帧率推荐值]设置需要的分辨率和宽高比   |
| int height;                | 视频高，根据[HRTCStreamType]和[不同分辨率下码率帧率推荐值]设置需要的分辨率和宽高比   |
| int frameRate;             | 视频帧率，可以参考[不同分辨率下码率帧率推荐值]和[7.4.12-表14 不同场景下帧率和码率的推荐值]进行设置 |
| int minFrameRate;          | 视频最小帧率，大于0，小于frameRate                                                                                                                                                     |
| int bitrate;               | 视频码率，可以参考[不同分辨率下码率帧率推荐值]和[7.4.12-表14 不同场景下帧率和码率的推荐值]进行设置 |
| int minBitrate;            | 视频最小码率，大于0，小于bitrate                                                                                                                                                       |
| bool disableAdjustRes;     | 表示上行流是否分辨率自适应，推荐开启自适应（即disableAdjustRes赋false）                                                                                                                             |
   
 表13不同分辨率下帧率和码率的推荐值 
| 分辨率        | 分辨率类型 | 比例   | 最小帧率（fps） | 最大帧率（fps） | 最小码率 | 最大码率 |
|:---|:---|:---|:---|:---|:---|:---|
| 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 |
   
 表14不同场景下帧率和码率的推荐值 
| 分辨率        | 推荐帧率 | 通信场景推荐码率 | 直播场景推荐码率 |
|:---|:---|:---|:---|
| 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     |
   
 #### HRTCLocalVideoStats
表15本地视频流信息详情 
| 属性                | 描述            |
|:---|:---|
| int width         | 视频宽           |
| int height        | 视频高           |
| int bitRate       | 视频码率          |
| int frameRate     | 视频帧率，单位：fps   |
| int packetLoss    | 视频丢包率         |
| int delay         | 时延，单位：ms      |
| int jitter        | 抖动            |
| int sendFrameRate | 实际发送帧率，单位：fps |
   
 #### HRTCRemoteVideoStats
表16远端视频流信息详情 
| 属性                                                    | 描述                                       |
|:---|:---|
| char userId\[HRTCConstant::HRTC_MAX_USERID_LEN + 1\]; | 远端用户ID                                   |
| int width                                             | 视频宽                                      |
| int height                                            | 视频高                                      |
| int bitRate                                           | 视频码率                                     |
| int frameRate                                         | 视频帧率，单位：fps                              |
| int packetLoss                                        | 视频丢包率                                    |
| int delay                                             | 时延，单位：ms                                 |
| int jitter                                            | 抖动                                       |
| int rendererOutputFrameRate                           | 渲染帧率，单位：fps                              |
| int totalFrozenTime                                   | 远端用户在加入房间后到离开房间前，发生视频卡顿的累计时长，单位：ms       |
| int frozenRate                                        | 远端用户在加入房间后到离开房间前，发生视频卡顿的累计时长占视频总有效时长的百分比 |
   
 #### HRTCLocalAudioStats
表17本地音频流信息详情 
| 属性             | 描述       |
|:---|:---|
| int sampleRate | 音频采样率    |
| int channels   | 音频频道数    |
| int bitRate    | 音频码率     |
| int packetLoss | 音频丢包率    |
| int delay      | 时延，单位：ms |
| int jitter     | 抖动       |
   
 #### HRTCRemoteAudioStats
表18远端音频流信息详情 
| 属性                                                   | 描述                                       |
|:---|:---|
| char userId\[HRTCConstant::HRTC_MAX_USERID_LEN + 1\] | 远端用户ID                                   |
| int sampleRate                                       | 音频采样率                                    |
| int channels                                         | 音频频道数                                    |
| int bitRate                                          | 音频码率                                     |
| int packetLoss                                       | 音频丢包率                                    |
| int delay                                            | 时延，单位：ms                                 |
| int jitter                                           | 抖动                                       |
| int totalFrozenTime                                  | 远端用户在加入房间后到离开房间前，发生音频卡顿的累计时长，单位：ms       |
| int frozenRate                                       | 远端用户在加入房间后到离开房间前，发生音频卡顿的累计时长占音频总有效时长的百分比 |
   
 #### HRTCConnectInfo
表19跨房信息参数 
| 函数\&属性                                               | 描述                                                                                   |
|:---|:---|
| char roomId\[HRTCConstant::HRTC_MAX_ROOMID_LEN + 1\] | 跨房房间号                                                                                |
| HRTCRoleType role                                    | 跨房时角色，具体请参见[HRTCRoleType]。 |
   
 #### HRTCFrameBuffer
表20媒体数据详情 
| 函数\&属性                  | 描述       |
|:---|:---|
| unsigned char\* buffer  | 媒体数据数组   |
| unsigned int bufferSize | 每帧媒体数据长度 |
   
 #### HRTCVideoFrame
表21视频帧详情 
| 函数\&属性                      | 描述                                                                                          |
|:---|:---|
| HRTCVideoImageFormat format | 视频格式，具体请参见[HRTCVideoImageFormat]。 |
| unsigned int width          | 视频宽                                                                                         |
| unsigned int height         | 视频高                                                                                         |
| unsigned char\* data        | 每帧视频数据                                                                                      |
| unsigned int dataLen        | 每帧视频数据大小。例如，I420格式数据，dataLen = 1.5 \* width \* heigh。                                       |
   
 #### HRTCAudioFrame
表22音频帧详情 
| 函数\&属性                       | 描述                                                                                          |
|:---|:---|
| HRTCAudioFrameType frameType | 音频格式，具体请参见[HRTCVideoImageFormat]。 |
| int sampleRate               | 音频采样率                                                                                       |
| int samplesPerSec            | 每秒采样数                                                                                       |
| int bytesPerSample           | 每个采样点占用字节数                                                                                  |
| int channels                 | 声道数                                                                                         |
| unsigned char\* data         | 音频数据                                                                                        |
| unsigned int dataLen         | 音频数据大小                                                                                      |
   
 #### HRTCVolumeInfo
表23发言人音量信息 
| 函数\&属性                                               | 描述     |
|:---|:---|
| char userId\[HRTCConstant::HRTC_MAX_USERID_LEN + 1\] | 远端用户ID |
| unsigned int volume;                                 | 音量     |
   
 #### HRTCNetworkTestConfig
表24网络探测结果参数 
| 函数\&属性                                | 描述                                                            |
|:---|:---|
| char\* userId；                        | 网络探测，用户。                                                      |
| char\* roomId；                        | 网络探测，房间号，建议用userId+随机数。                                       |
| char\* signature；                     | 网络探测，鉴权签名字串。                                                  |
| long long ctime;                      | 网络探测，UTC时间戳， 单位：秒。                                            |
| int enableUplinkTest;                 | 网络探测，开启上行探测。                                                  |
| int enableDownlinkTest;               | 网络探测，开启下行探测。                                                  |
| unsigned int expectedUplinkBitrate;   | 用户期望的最高发送码率，单位为bps，范围为0以及\[100000, 5000000\]，设为0表示由SDK指定最高码率。 |
| unsigned int expectedDownlinkBitrate; | 用户期望的最高接收码率，单位为bps，范围为0以及\[100000, 5000000\]，设为0表示由SDK指定最高码率。 |
   
 #### HRTCNetworkTestResultParam
 表25网络探测结果参数 
| 函数\&属性          | 描述 |
|:---|:---|
| int bitRate;    | 码率 |
| int packetLoss; | 丢包 |
| int delay;      | 延时 |
| int jitter;     | 抖动 |
   
 #### HRTCNetworkTestResult
 表26网络探测结果 
| 枚举值                        | 描述                                                                                                  |
|:---|:---|
| HRTCNetworkTestState       | 网络探测状态，具体请参见[HRTCNetworkTestState]。        |
| HRTCNetworkTestResultParam | 上行流测试结果，具体请参见[HRTCNetworkTestResultParam]。 |
| HRTCNetworkTestResultParam | 下行流测试结果，具体请参见[HRTCNetworkTestResultParam]。 |
   
 #### HRTCStreamType
表27选看分辨率 
| 枚举值                  | 描述  |
|:---|:---|
| HRTC_STREAM_TYPE_SD  | 标清  |
| HRTC_STREAM_TYPE_HD  | 高清  |
| HRTC_STREAM_TYPE_FHD | 全高清 |
| HRTC_STREAM_TYPE_THD | 真高清 |
   
 #### HRTCVideoStreamType
表28大小流模式选看流类型 
| 枚举值                          | 描述               |
|:---|:---|
| HRTC_VIDEO_STREAM_TYPE_BIG   | 大小流模式选看分辨率：大流类型。 |
| HRTC_VIDEO_STREAM_TYPE_SMALL | 大小流模式选看分辨率：小流类型。 |
   
 #### HRTCVideoDisplayMode
表29图像填充模式 
| 枚举值                            | 描述                     |
|:---|:---|
| HRTC_VIDEO_DISPLAY_MODE_FIT    | 黑边模式，通过填充黑边的方式保持宽高比。   |
| HRTC_VIDEO_DISPLAY_MODE_HIDDEN | 裁剪模式，通过裁剪的方式保持宽高比。     |
| HRTC_VIDEO_DISPLAY_MODE_FILL   | 缩放模式，缩放和拉伸视频尺寸以充满显示视窗。 |
   
 #### HRTCMediaType
表30媒体类型 
| 枚举值                   | 描述        |
|:---|:---|
| HRTC_MEDIA_TYPE_AUDIO | 音频流。暂不支持。 |
| HRTC_MEDIA_TYPE_VIDEO | 视频流。      |
   
 #### HRTCRoleType
表31用户角色 
| 枚举值                   | 描述                     |
|:---|:---|
| HRTC_ROLE_TYPE_JOINER | joiner角色，双向流角色，例如主播加入。 |
| HRTC_ROLE_TYPE_PLAYER | player角色，接收流角色，例如观众。   |
   
 #### HRTCLogLevel
表32日志级别 
| 枚举值                    | 描述             |
|:---|:---|
| HRTC_LOG_LEVEL_ERROR   | 输出ERROR级别日志。   |
| HRTC_LOG_LEVEL_WARNING | 输出WARNING级别日志。 |
| HRTC_LOG_LEVEL_INFO    | 输出INFO级别日志。    |
| HRTC_LOG_LEVEL_DEBUG   | 输出DEBUG级别日志。   |
   
 #### HRTCConnStateTypes
表33网络连接状态 
| 枚举值                    | 描述         |
|:---|:---|
| HRTC_CONN_DISCONNECTED | 连接断开。      |
| HRTC_CONN_CONNECTING   | 建立网络连接中。   |
| HRTC_CONN_CONNECTED    | 网络连接成功。    |
| HRTC_CONN_RECONNECTING | 重新建立网络连接中。 |
| HRTC_CONN_FAILED       | 网络连接失败。    |
   
 #### HRTCConnChangeReason
表34网络状态变化原因 
| 枚举值                                             | 描述                        |
|:---|:---|
| 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服务。 |
   
 #### HRTCDeviceType
表35系统音视频设备类型 
| 枚举值                          | 描述      |
|:---|:---|
| HRTC_DEVTYPE_AUDIO_PLAYBACK  | 音频播放设备。 |
| HRTC_DEVTYPE_AUDIO_RECORDING | 音频录制设备。 |
| HRTC_DEVTYPE_VIDEO_CAPTURE   | 视频采集设备。 |
   
 #### HRTCDeviceState
表36系统音视频设备状态 
| 枚举值                         | 描述         |
|:---|:---|
| HRTC_DEVICE_STATE_ACTIVE    | 激活状态，设备可用。 |
| HRTC_DEVICE_STATE_DISABLED  | 设备禁用。      |
| HRTC_DEVICE_STATE_UNPLUGGED | 设备拔出。      |
   
 #### 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    | 重连超时。                     |
| HRTC_LEAVE_REASON_NETWORK_TEST        | 网络探测结束，UI不用关注。            |
| HRTC_LEAVE_REASON_USER_REMOVED        | 用户移除                      |
| HRTC_LEAVE_REASON_ROOM_DISMISSED      | 房间解散                      |
| HRTC_LEAVE_REASON_REGION_NOT_COVERED  | 区域未覆盖，所在区域不能提供SparkRTC服务。 |
   
 #### HRTCVideoImageFormat
表38视频帧图片存储格式 
| 枚举值                             | 描述                       |
|:---|:---|
| HRTC_VIDEO_IMAGE_FORMAT_YUV420P | YUV I420格式               |
| HRTC_VIDEO_IMAGE_FORMAT_RGBA    | RGBA格式                   |
| HRTC_VIDEO_IMAGE_FORMAT_2D      | texture2d格式 （仅支持Android） |
   
 #### HRTCVideoImageBufferType
表39视频帧缓冲区存储类型 
| 枚举值                                | 描述                                        |
|:---|:---|
| HRTC_VIDEO_IMAGE_BUFFER_BYTE_ARRAY | Array类型，对应HRTCVideoImageFormat的YUV、RGBA格式 |
   
 #### HRTCImageBufferFormat
表40视频帧图片格式 
| 函数\&属性                              | 描述         |
|:---|:---|
| HRTCVideoImageFormat format         | 视频帧图片存储格式  |
| HRTCVideoImageBufferType bufferType | 视频帧缓冲区存储类型 |
   
 #### HRTCAudioFrameType
表41音频帧格式 
| 枚举值                         | 描述      |
|:---|:---|
| HRTC_AUDIO_FRAME_TYPE_PCM16 | PCM 16位 |
   
 #### HRTCRemoteAudioStreamState
表42远端音频状态 
| 枚举值                                   | 描述           |
|:---|:---|
| HRTC_REMOTE_AUDIO_STATE_STOPPED       | 远端音频流关闭发送。   |
| HRTC_REMOTE_AUDIO_STATE_STARTING      | 远端音频流正常编码发送。 |
| HRTC_REMOTE_AUDIO_STATE_FIRST_DECODED | 远端音频首包解码。    |
   
 #### HRTCRemoteAudioStreamStateReason
表43远端音频状态变化原因 
| 枚举值                                           | 描述           |
|:---|:---|
| 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 | 远端音频首包解码。    |
   
 #### HRTCRemoteVideoStreamState
表44远端视频状态 
| 枚举值                              | 描述           |
|:---|:---|
| HRTC_REMOTE_VIDEO_STATE_STOPPED  | 远端视频流关闭发送。   |
| HRTC_REMOTE_VIDEO_STATE_DECODING | 远端视频流正常编码发送。 |
   
 #### HRTCRemoteVideoStreamStateReason
表45远端视频状态变化原因 
| 枚举值                                            | 描述           |
|:---|:---|
|  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         | 本端已开启选看远端视频流 |
   
 #### HRTCVideoMirrorType
表46视频镜像模式 
| 枚举值                            | 描述                                                     |
|:---|:---|
| HRTC_VIDEO_MIRROR_TYPE_AUTO    | 移动端使用，Windows设置效果同HRTC_VIDEO_MIRROR_TYPE_DISABLE，关闭镜像。 |
| HRTC_VIDEO_MIRROR_TYPE_ENABLE  | 开启镜像。                                                  |
| HRTC_VIDEO_MIRROR_TYPE_DISABLE | 关闭镜像。                                                  |
   
#### HRTCNetworkTestState
 表47网络探测状态 
| 枚举值                    | 描述 |
|:---|:---|
| HRTC_NETWORK_TEST_OK=0 | 成功 |
| HRTC_NETWORK_TEST_FAIL | 失败 |
   
 #### HRTCMediaDirection
表48数据源方向 
| 枚举值                 | 描述   |
|:---|:---|
| HRTC_MEDIA_LOCAL =0 | 本地数据 |
| HRTC_MEDIA_REMOTE   | 远端数据 |
   
 #### HRTCNetworkQualityLevel
表49网络质量信号等级 
| 枚举值                            | 描述      |
|:---|:---|
| HRTC_NETWORK_QUALITY_UNKNOWN=0 | 网络质量未知  |
| HRTC_NETWORK_QUALITY_EXCELLENT | 网络质量非常好 |
| HRTC_NETWORK_QUALITY_GOOD      | 网络质量好   |
| HRTC_NETWORK_QUALITY_POOR      | 网络质量一般  |
| HRTC_NETWORK_QUALITY_BAD       | 网络质量差   |
| HRTC_NETWORK_QUALITY_VBAD      | 网络质量非常差 |
   
 #### HRTCConstant
表50HRTCConstant常量说明 
| 常量                           | 值             |
|:---|:---|
| int HRTC_MAX_DOMAIN_LEN      | 119，域名长度。     |
| int HRTC_MAX_APPID_LEN       | 128，app_id长度。 |
| int HRTC_MAX_LOG_PATH_LEN    | 226，日志路径。     |
| int HRTC_MAX_USERID_LEN      | 128，用户ID。     |
| int HRTC_MAX_USERNAME_LEN    | 128，用户昵称。     |
| int HRTC_MAX_ROOMID_LEN      | 128，房间号。      |
| int HRTC_MAX_SIGNATURE_LEN   | 128，签名。       |
| int HRTC_MAX_OPTION_INFO_LEN | 1024，预留。      |
| int HRTC_MAX_CODEC_NAME_LEN  | 64，编码详情。      |
| int HRTC_MAX_DEVICE_NAME_LEN | 256，设备名称。     |
| int HRTC_MAX_DEVICE_ID_LEN   | 256，设备id。     |
   
 #### HRTCRotationParam
表51摄像头参数 
| 属性                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|
| int captureIndex    | - 0：前置摄像头  - 1：后置摄像头                                                                                                                                                                                                                                                                |
| int captureRotation | - 0：不旋转  - 1：逆时针旋转90度  - 2：逆时针旋转180度  - 3：逆时针旋转270度   |
| int wndType         | 保留参数，当前默认设置为1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| int displayRotation | - 0：不旋转  - 1：逆时针旋转90度  - 2：逆时针旋转180度  - 3：逆时针旋转270度   |
   
 #### HRTCSpeakerModel
表52声音播放模式 
| 枚举值                         | 描述  |
|:---|:---|
| HRTC_SPEAKER_MODEL_EARPIECE | 耳机  |
| HRTC_SPEAKER_MODEL_SPEAKER  | 扬声器 |
   
 #### HRTCVideoRemoteView
表53远端流视图 
| 属性                                                                                         | 描述                    |
|:---|:---|
| void\* view                                                                                | 窗口句柄                  |
| [HRTCStreamType] streamType    | 流模式（LD/SD/HD/FHD/THD） |
| const char\* userId                                                                        | 用户ID                  |
| int disableAdjustRes                                                                       | 是否自适应                 |
| [HRTCStreamType] minResolution | 自适应场景下，建议的最低选择档位      |
   
 #### HRTCVideoRotation
表54视频流旋转角度 
| 枚举值                   | 描述        |
|:---|:---|
| HRTC_VIDEO_ROTATION_0 | 不旋转       |
| HRTC_VIDEO_ROTATION_1 | 逆时针旋转90度  |
| HRTC_VIDEO_ROTATION_2 | 逆时针旋转180度 |
| HRTC_VIDEO_ROTATION_3 | 逆时针旋转270度 |
   
 #### HRTCVideoOrientation
表55方向（横竖屏） 
| 枚举值                              | 描述 |
|:---|:---|
| HRTC_VIDEO_ORIENTATION__LANSCAPE | 横屏 |
| HRTC_VIDEO_ORIENTATION__PORTRAIT | 竖屏 |
   
 #### HRTCScreenShareIconType
表56捕获的屏幕共享图标类型 
| 枚举值                         | 描述    |
|:---|:---|
| HRTC_SCREENSHARE_SMALL_ICON | 小图标类型 |
| HRTC_SCREENSHARE_BIG_ICON   | 大图标类型 |
   
 #### HRTCScreenShareSourceInfo
表57共享屏幕对象信息 
| 属性                                                            | 描述                                                                                        |
|:---|:---|
| void\* sourceId                                               | 采集源ID，如果是窗口共享，则为窗口句柄(HWND)                                                                |
| char sourceName\[HRTCConstant::HRTC_MAX_SOURCE_NAME_LEN + 1\] | 采集源名称，如果是窗口共享，则为窗口对应名称                                                                    |
| HRTCScreenShareType type                                      | 共享类型，具体请参见[HRTCScreenShareType] |
| void\* icon                                                   | type是HRTC_WINDOW_CAPTURE才有效，返回类型是Windows资源类型HICON                                         |
   
 #### HRTCScreenShareType
表58屏幕共享类型 
| 属性                  | 描述   |
|:---|:---|
| HRTC_SCREEN_CAPTURE | 屏幕共享 |
| HRTC_WINDOW_CAPTURE | 窗口共享 |
   
 #### HRTCSrceenCaptureOptionalInfo
表59其他共享屏幕可选补充信息 
| 属性                       | 描述                                                                                                                                          |
|:---|:---|
| bool disableCaptureMouse | 是否禁止鼠标采集，默认false采集鼠标                                                                                                                        |
| HRTCRect rect            | 程序共享下支持区域共享，宽不能超过1920高度不能超过1080，最小宽不能小于320，高度不能小于240，共享前设置，区域要求是固定的，具体请参见[HRTCRect] |
   
 #### HRTCRect
表60区域共享的自定义位置 
| 枚举值                 | 描述                                                    |
|:---|:---|
| unsigned int left   | 自共享对象（屏幕或窗口）左上角起取的坐标，上下左右要求构成一个有效矩形（Rect），方可实现自定义区域共享 |
| unsigned int top    | 自共享对象（屏幕或窗口）左上角起取的坐标，上下左右要求构成一个有效矩形（Rect），方可实现自定义区域共享 |
| unsigned int right  | 自共享对象（屏幕或窗口）左上角起取的坐标，上下左右要求构成一个有效矩形（Rect），方可实现自定义区域共享 |
| unsigned int bottom | 自共享对象（屏幕或窗口）左上角起取的坐标，上下左右要求构成一个有效矩形（Rect），方可实现自定义区域共享 |
   
 #### HRTCVideoAuxiliaryEncParam
表61辅流编码参数 
| 属性\&函数        | 描述                                                                                                                                                                                    |
|:---|:---|
| int frameRate | 帧率，推荐帧率15。                                                                                                                                                                            |
| int width     | 宽                                                                                                                                                                                     |
| int height    | 高                                                                                                                                                                                     |
| int bitrate   | 码率，可以参考[7.4.12-表13 不同分辨率下帧率和码率的推荐值]和[7.4.12-表14 不同场景下帧率和码率的推荐值]进行设置 |
   
 #### HRTCLocalAudioStreamState
表62本地音频状态 
| 枚举值                              | 描述            |
|:---|:---|
| HRTC_LOCAL_AUDIO_STATE_STOPPED   | 本地音频流默认初始状态   |
| HRTC_LOCAL_AUDIO_STATE_RECORDING | 本地音频流录制设备启动成功 |
| HRTC_LOCAL_AUDIO_STATE_FAILED    | 本地音频流启动失败     |
   
 #### HRTCLocalAudioStreamStateReason
表63本地音频状态变化原因 
| 枚举值                                                    | 描述                                                                              |
|:---|:---|
| 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_ACCESS_DENIED            | 音频设备无法访问，可能是设备隐私权限设置问题                                                          |
| HRTC_LOCAL_AUDIO_REASON_ERROR_ON_EXCLUSIVE_MODE        | 音频设备处于独占模式，且被其他应用独占，可以通知用户取消独占模式                                                |
| HRTC_LOCAL_AUDIO_REASON_ERROR_ENDPOINT_CREATE_FAILED   | 音频设备终端创建失败，音频设备被拔出，或者已重新配置，禁用，删除了音频硬件或关联的硬件资源不可用。使用其他音频设备，重启或者更新驱动（仅适用于Windows） |
| HRTC_LOCAL_AUDIO_REASON_ERROR_MMSYSERR_INVALPARAM      | 音频设备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           | 扬声器播放无数据，重启失败                                                                   |
   
 #### HRTCLocalVideoStreamState
表64本地视频状态 
| 枚举值                              | 描述            |
|:---|:---|
| HRTC_LOCAL_VIDEO_STATE_STOPPED   | 本地视频流默认初始状态   |
| HRTC_LOCAL_VIDEO_STATE_CAPTURING | 本地视频流采集设备启动成功 |
| HRTC_LOCAL_VIDEO_STATE_FAILED    | 本地视频流启动失败     |
   
 #### HRTCLocalVideoStreamStateReason
表65本地视频状态变化原因 
| 枚举值                                                           | 描述                            |
|:---|:---|
| 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       | 应用处于后台，仅适用Android和iOS         |
| 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） |
   
 #### HRTCQualityInfo
表66网络质量信息 
| 属性                                                                                           | 描述     |
|:---|:---|
| char userId\[HRTCConstant::HRTC_MAX_USERID_LEN + 1\]                                         | 用户ID   |
| int width                                                                                    | 宽      |
| int height                                                                                   | 高      |
| [HRTCNetworkQualityLevel] level | 网络质量等级 |
| HRTCMediaType mediaType                                                                      | 媒体流类型  |
   
 #### HRTCMediaConnStateTypes
表67媒体连接状态类型 
| 枚举值                       | 描述         |
|:---|:---|
| HRTC_MEDIA_CONN_CONNECTED | 与媒体服务器连接成功 |
| HRTC_MEDIA_CONN_FAILED    | 与媒体服务器建链失败 |
   
 #### HRTCMediaConnChangeReason
表68媒体连接状态变化原因 
| 枚举值                                | 描述           |
|:---|:---|
| HRTC_MEDIA_CONN_CHANGED_CONNECTED  | 连接成功         |
| HRTC_MEDIA_CONN_CHANGED_NAT_FAILED | 与媒体服务器NAT未打通 |
   
 #### HRTCRemoteAudioMode
表69远端音频流收流模式 
| 枚举值                              | 描述                |
|:---|:---|
| HRTC_REMOTE_AUDIO_SUBSCRIBED = 0 | 订阅模式（自主订阅）        |
| HRTC_REMOTE_AUDIO_TOP_THREE = 1  | TopN模式（收音量最大的三路流） |
| HRTC_REMOTE_AUDIO_P2P = 2        | P2P模式             |
| HRTC_REMOTE_AUDIO_RTSA_CMD = 3   | RTSA-CMD模式        |
   
 #### HRTCVideoEncodeResolutionMode
表70视频编码分辨率比例模式 
| 枚举值                                               | 描述    |
|:---|:---|
| HRTC_VIDEO_ENCODE_RESOLUTION_MODE_NONE = 0        | 不固定比例 |
| HRTC_VIDEO_ENCODE_RESOLUTION_MODE_CONST_RATIO = 1 | 固定比例  |
   
 #### HRTCEngineConfig
表71引擎初始化配置 
| 属性                | 类型                                                         | 描述                                                                                                                     |
|:---|:---|:---|
| appId             | const char \*                                              | 应用ID，只有App ID相同的应用程序才能进入同一个房间进行互动。appId获取方法请参见[应用管理](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0001.html)。 |
| countryCode       | const char \*                                              | 国家码，具体值请参见[国家码对照表](https://support.huaweicloud.com/csdk-rtc/rtc_05_0351.html)                                          |
| enableHaTrace     | bool                                                       | 打点开关                                                                                                                   |
| muteAudioRoute    | bool                                                       | 是否禁音频路由                                                                                                                |
| enableAudio       | bool                                                       | 音频模块开关                                                                                                                 |
| enableVideo       | bool                                                       | 视频模块开关                                                                                                                 |
| enableShare       | bool                                                       | 共享模块开关                                                                                                                 |
| audioScene        | [HRTCAudioSceneType]     | 音频场景，会议/音乐                                                                                                             |
| audioQualityLevel | [HRTCAudioQualityLevel] | 音频档位，16k/48k                                                                                                           |
   
#### HRTCNetProxyConfig
表72代理参数的配置 
| 属性                   | 描述        |
|:---|:---|
| bool autoNetProxy    | 是否开启自动代理  |
| const char \*address | 代理的地址     |
| int port             | 代理端口      |
| const char \*name    | 代理认证的账号名  |
| const char \*pwd     | 代理认证的账号密码 |
   
 #### HRTCAreaCode
表73访问区域 
| 枚举值                 | 描述     |
|:---|:---|
| 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   | 亚洲     |
   
 #### HRTCSetupRemoteViewResult
表74批量选看结果 
| 属性\&函数                                                            | 描述                                                                                                                                                                                                       |
|:---|:---|
| char userId\[HRTCConstant::HRTC_MAX_USERID_LEN + 1\]              | 用户ID                                                                                                                                                                                                     |
| unsigned char result                                              | 选看结果                                                                                                                                                                                                     |
| int code                                                          | 状态码 - 0：成功  - 1：失败   |
| char reason\[HRTCConstant::HRTC_MAX_WATCH_RESULT_REASON_LEN + 1\] | 原因描述                                                                                                                                                                                                     |
   
 #### HRTCOnStats
表75统计信息 
| 属性                                   | 描述         |
|:---|:---|
| double cpuAppUsage                   | app的cpu利用率 |
| double cpuTotalUsage                 | cpu总利用率    |
| unsigned int memoryAppUsageInKbytes  | app占用内存    |
| double memoryAppUsageRatio           | app内存占用率   |
| double memoryTotalUsageRatio         | 总的内存利用率    |
| int gatewayRtt                       | 到本地网关的延迟   |
| unsigned long long sendBytes         | 总的发送字节数    |
| unsigned long long sendVideoBytes    | 视频的发送字节数   |
| unsigned long long sendAudioBytes    | 音频的发送字节数   |
| unsigned long long receiveBytes      | 总的接收字节数    |
| unsigned long long receiveVideoBytes | 视频的接收字节数   |
| unsigned long long receiveAudioBytes | 音频的接收字节数   |
| unsigned int sendBitRate             | 总的发送比特率    |
| unsigned int sendVideoBitRate        | 视频的发送比特率   |
| unsigned int sendAudioBitRate        | 音频的发送比特率   |
| unsigned int receiveBitRate          | 总的接收比特率    |
| unsigned int receiveVideoBitRate     | 视频的接收比特率   |
| unsigned int receiveAudioBitRate     | 音频的接收比特率   |
| unsigned int sendLossRate            | 发送丢包率      |
| unsigned int receiveLossRate         | 接收丢包率      |
| unsigned int lastmileDelay           | 到服务器的延迟    |
   
 #### HRTCAudioFileState
表76访问区域 
| 枚举值                             | 描述         |
|:---|:---|
| 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   | 音频文件播放状态未知 |
   
 #### HRTCAudioFileReason
表77音频播放状态改变原因 
| 枚举值                                             | 描述          |
|:---|:---|
| 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                  | 状态未知        |
   
 #### HRTCMediaOptions
表78音视频自动选看和订阅选项 
| 属性                                                                                                                                                                      | 描述                 |
|:---|:---|
| bool autoSubscribeAudio                                                                                                                                                 | 自动订阅远端用户音频流        |
| bool autoSubscribeVideo                                                                                                                                                 | 自动订阅远端用户视频流        |
| HRTCMediaOptions() { autoSubscribeAudio = true; autoSubscribeVideo = true; } | 初始化构造默认true自动订阅和选看 |
   
 #### HRTCAudioQualityLevel
表79音频档位 
| 枚举值                              | 描述                                  |
|:---|:---|
| HRTC_AUDIO_QUALITY_LEVEL_DEFAULT | 默认值，表示使用采样率16KHZ、单声道、编码码率最大值为30Kbps |
   
 #### HRTCAudioSceneType
表80音频场景 
| 枚举值                      | 描述         |
|:---|:---|
| HRTC_AUDIO_SCENE_DEFAULT | 默认值，表示会议模式 |
| HRTC_AUDIO_SCENE_MUSIC   | 表示音乐模式     |
   
 #### HRTCSfuType
表81Sfu类型 
| 枚举值                          | 描述      |
|:---|:---|
| HRTC_SFU_TYPE_PUBLIC_NETWORK | 公网sfu资源 |
   
 #### HRTCRtmpUrlList
表82HRTCRtmpUrlList 
| 属性                       | 描述                                                 |
|:---|:---|
| int nSize                | 数组大小                                               |
| HRTCRtmpUrl urlInfo\[5\] | url数组，具体请参见[表83] |
   
 表83HRTCRtmpUrl 
| 属性               | 描述     |
|:---|:---|
| char url\[1025\] | url字符串 |
   
 #### HRTCTranscodeConfig
表84HRTCTranscodeConfig 
| 属性                                  | 描述                                                           |
|:---|:---|
| HRTCRtmpConfig config               | Rtmp推流通用配置，如码率等，具体请参见[表85] |
| HRTCRtmpUserInfo rtmpUserInfo\[50\] | Rtmp推流的用户流信息，具体请参见[表86]     |
   
 表85HRTCRtmpConfig 
| 属性                  | 描述                                                 |
|:---|:---|
| int width           | 旁路推流的输出视频流的总宽度，单位为px。默认值为360，取值范围为\[64-1920\]      |
| int height          | 旁路推流的输出视频流的总高度，单位为px。默认值为640，取值范围为\[64-1920\]      |
| int videoBitrate    | 旁路推流的输出视频的码率，单位为Kbps。默认值为400Kbps，取值范围为\[32-2760\]  |
| int videoFramerate  | 旁路推流的输出视频的帧率，单位为fps。默认值为15，取值范围为\[10,30\]          |
| int videoGop        | 用于旁路直播的输出视频的GOP，单位为帧。默认值为30帧，取值范围为\[1-300\]        |
| int audioSampleRate | 用于旁路直播的输出音频的采样率，默认为16000，取值范围为\[16000-96000\]      |
| int audioBitrate    | 旁路直播的输出音频的码率，单位为Kbps。默认值为48，最大值为128，取值范围为\[1-128\] |
| int audioChannels   | 旁路直播的输出音频的声道数，默认为1，取值范围为\[1-5\]                    |
| int tmplate         | 0表示悬浮，1表示九宫格，2表示屏幕分享，默认为0                          |
   
 表86HRTCRtmpUserInfo 
| 属性                | 描述     |
|:---|:---|
| char userId\[64\] | 用户id   |
| bool main         | 是否推大流  |
| bool slides       | 是否推小流  |
| bool desktop      | 是否推桌面流 |
| bool audio        | 是否推音频流 |
   
表87HRTCRtmpUserInfoList 
| 属性                                  | 描述    |
|:---|:---|
| int nSize                           | 数组大小  |
| HRTCRtmpUserInfo rtmpUserInfo\[50\] | 结构体数组 |
   
 #### HRTCUrlStatusList
表88HRTCRtmpUrlInfo 
| 属性               | 描述     |
|:---|:---|
| char url\[1025\] | url字符串 |
| int status       | 状态码    |
| int errCode      | 错误码    |
   
表89rtmp推流回调url状态数组 
| 属性                               | 描述                                                  |
|:---|:---|
| int nSize                        | 数组大小                                                |
| HRTCRtmpUrlInfo rtmpUrlInfo\[5\] | url状态数组，具体请参见[表86] |
   
 #### HRTCAudioOperateMode
表90采集数据回调的处理模式 
| 属性                                                          | 描述     |
|:---|:---|
| enum HRTCAudioOperateMode.HRTC_AUDIO_OPERATE_READ_AND_WRITE | 可读可写模式 |
   
 #### HRTCModelType
表91HRTCModelType 
| 属性                                   | 描述   |
|:---|:---|
| HRTC_MODEL_VOICE_ACTIVITY_DETECTION  | 人声检测 |
| HRTC_MODEL_VOICE_HOWLING_SUPPRESSION | 啸叫抑制 |
   
 #### HRTCEngineContext
表92引擎初始化参数 
| 属性           | 类型                      | 描述                                                                                              |
|:---|:---|:---|
| engineConfig | HRTCEngineConfig        | 引擎配置项，具体请参见[HRTCEngineConfig]。                               |
| logConfig    | HRTCLogConfig           | 日志配置项，具体请参见[HRTCLogConfig]。                                 |
| eventHandler | IHRTCEngineEventHandler | 事件回调，具体请参见[IHRTCEngineEventHandler](https://support.huaweicloud.com/csdk-rtc/rtc_05_0115.html)。 |
   
 #### HRTCLogConfig
表93日志参数 
| 属性      | 类型            | 描述                                                                                                                                      |
|:---|:---|:---|
| level   | HRTCLogLevel  | 日志级别，具体请参见[HRTCLogLevel]，默认值 HRTC_LOG_LEVEL_DEBUG，推荐使用HRTC_LOG_LEVEL_DEBUG。 |
| path    | const char \* | 日志路径，需调用方保证路径合法可用，rtc仅做基础校验                                                                                                             |
| logSize | int           | 日志大小，默认值10M，推荐10M                                                                                                                       |
| enable  | bool          | 日志开关                                                                                                                                    |
   
 #### HWRtcGSensorMode
表94重力感应模式 
| 属性                           | 描述                                                                                         |
|:---|:---|
| HWRtcGSensorModeDisable      | 关闭重力感应                                                                                     |
| HWRtcGSensorModeUIAutoLayout | 开启重力感应 **注意**：SDK不会根据陀螺仪自动调整本地View的画面方向，而是需要您的APP开启了重力感应进行适配 |
   
 #### HRTCBeautyOptions
表95美颜选参 
| 属性              | 类型    | 描述                              |
|:---|:---|:---|
| buffingLevel    | float | 磨皮档位，取0-1浮点数，默认值为0.5，推荐使用默认值0.5 |
| complexionAlpha | float | 肤色档位，取0-1浮点数，默认值为0.5，推荐使用默认值0.5 |
   
 #### HRTCAudioDeviceTestVolumeNotify
表96HRTCAudioDeviceTestVolumeNotify 
| 属性             | 描述    |
|:---|:---|
| recordVolume   | 麦克风音量 |
| playbackVolume | 扬声器音量 |
   
 #### HRTCShareSourceInfoChangedType
表97HRTCShareSourceInfoChangedType 
| 属性                                                     | 描述          |
|:---|:---|
| HRTC_SHARE_SOURCE_INFO_CHANGED_DIALED_OUT              | 正在共享的屏幕被拨出  |
| HRTC_SHARE_SOURCE_INFO_CHANGED_RESOLUTION_CHANGE       | 分辨率有变化      |
| HRTC_SHARE_SOURCE_INFO_CHANGED_REGION_CHANGE           | 区域有变化       |
| HRTC_SHARE_SOURCE_INFO_CHANGED_NUM_REDUCE              | 屏幕个数有减少     |
| HRTC_SHARE_SOURCE_INFO_CHANGED_NUM_INCREASE            | 屏幕个数有增加     |
| HRTC_SHARE_SOURCE_INFO_CHANGED_IS_BLOCKED              | 正在共享的窗口被遮挡了 |
| HRTC_SHARE_SOURCE_INFO_CHANGED_CLOSE                   | 正在共享的窗口关闭了  |
| HRTC_SHARE_SOURCE_INFO_CHANGED_MINIMIZE                | 正在共享的窗口最小化了 |
| HRTC_SHARE_SOURCE_INFO_CHANGED_VALID_AREA_LESS_THAN_96 | 窗口有效区域小于96  |
   
 #### HRTCSize
表98缩略图数据分辨率 
| 属性     | 类型           | 描述 |
|:---|:---|:---|
| width  | unsigned int | 宽  |
| height | unsigned int | 高  |
   
 #### HRTCNetworkBandwidth
表99带宽设置参数 
| 属性           | 类型  | 描述                                        |
|:---|:---|:---|
| maxBandwidth | int | 带宽上限。单位：KB。有效范围为\[3072, 51200\]，即3M\~50M。 |
   
 #### HRTCMultiRoomMediaRelayConfiguration
表100跨房配置 
| 属性                | 类型                                                             | 描述              |
|:---|:---|:---|
| srcRoomMediaInfo  | [HRTCSrcMultiRoomMediaInfo] | 源房间的鉴权信息        |
| destRoomMediaInfo | [HRTCDstMultiRoomMediaInfo] | 目的跨房的房间信息以及鉴权信息 |
   
 #### HRTCSrcMultiRoomMediaInfo
表101源房间信息 
| 属性            | 类型           | 描述             |
|:---|:---|:---|
| authorization | const char\* | 源房间的鉴权信息       |
| userId        | const char\* | 源房间的用户名 (必须为0) |
| roomId        | const char\* | 源房间的房间号        |
| ctime         | long long    | 鉴权时间信息         |
   
 #### HRTCDstMultiRoomMediaInfo
表102目标房间信息 
| 属性            | 类型                                                                       | 描述         |
|:---|:---|:---|
| authorization | const char\*                                                             | 目标跨房的鉴权信息  |
| userId        | const char\*                                                             | 目标跨房的虚拟用户名 |
| roomId        | const char\*                                                             | 目标跨房房间号    |
| userRole      | [HRTCRoleType] | 跨房角色       |
| ctime         | long long                                                                | 鉴权时间信息     |
   
 #### HRTCMultiRoomMediaRelayState
表103跨房状态 
| 属性                                           | 描述         |
|:---|:---|
| 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    | 发生异常       |
   
 #### HRTCMultiRoomMediaRelayStateCode
表104跨房状态码 
| 属性                                                          | 描述                |
|:---|:---|
| 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            | 异常退出跨房            |
   
 #### HRTCRemoteMicState
表105麦克风设备状态 
| 属性                           | 描述        |
|:---|:---|
| HRTC_REMOTE_MIC_STATE_UNMUTE | 麦克风设备状态正常 |
| HRTC_REMOTE_MIC_STATE_MUTE   | 麦克风设备状态静音 |
   
