
# 数据类型
本章节列出了iOS/macOS SDK的所有数据类型，您可以结合HWRtcEngine接口和回调进行开发。
表1数据类型 
| 类型                                                                                                              | 描述              |
|:---|:---|
| [HWRtcUserInfo]                                                             | 用户信息            |
| [HWRtcJoinParam]                                                            | 入会信息            |
| [HWRtcVideoEncode]                                                          | 视频编码            |
| [HWRtcDeviceInfo]                                                            | 设备信息            |
| [HWRtcLogLevel]                                                              | 日志级别            |
| [HWRtcRole]                                                               | 用户角色            |
| [HWRtcMediaType]                                                             | 媒体类型            |
| [HWRtcVideoDisplayMode]                                                     | 视频渲染模式          |
| [HWRtcStreamType]                                                          | 流类型             |
| [HWRtcSpeakerModel]                                                        | 声音播放模式          |
| [HWRtcVideoRotation]                                                        | 视频角度            |
| [HWRtcAudioRoute]                                                            | 音频路由            |
| [HWRtcDeviceType]                                                            | 设备类型            |
| [HWRtcDeviceState]                                                          | 设备状态            |
| [HWRtcConnChangeReason]                                                       | 网络连接状态改变原因      |
| [HWRtcConnStateType]                                                        | 网络连接状态          |
| [HWRtcVideoCanvas]                                                          | 预览视图            |
| [HWRtcStatsInfo]                                                             | 卡顿统计信息          |
| [HWRtcVideoMirrorType]                                                      | 视频镜像类型          |
| [HWRtcRemoteAudioState]                                                       | 远端音频流状态         |
| [HWRtcRemoteAudioStateReason]                                                 | 远端音频流状态改变的原因    |
| [HWRtcRemoteVideoState]                                                       | 远端视频流状态         |
| [HWRtcRemoteVideoStateReason]                                                | 远端视频流状态改变的原因    |
| [HWRtcLeaveReason]                                                          | 离开房间的原因         |
| [HWRtcMediaUsersVolumeInfo]                                                 | 发言人音量信息         |
| [HWRtcMediaDirection]                                                       | 媒体方向            |
| [HWRtcAudioFilePlayMode]                                                   | 音频播放类型          |
| [HWRtcAudioFrameType]                                                        | 音频格式            |
| [HWRtcVideoImageFormat]                                                      | 视频帧图片存储格式       |
| [HWRtcVideoImageBufferType]                                                | 视频帧缓冲区存储类型      |
| [HwRtcImageBufferFormat]                                                    | 视频帧图片格式         |
| [HWRtcAudioFrame]                                                            | 音频数据信息          |
| [HWRtcVideoFrame]                                                            | 视频数据信息          |
| [HWRtcStartAudioFileParam]                                                  | 音频文件信息          |
| [HWRtcNetworkTestConfig]                                                      | 入会前网络检测配置       |
| [HWRtcNetworkTestResult]                                                  | 入会前网络检测回调结果     |
| [HWRtcNetworkTestState]                                                       | 入会前网络检测回调网络状态   |
| [HWRtcNetworkTestResultParam]                                               | 入会前网络检测回调网络质量信息 |
| [HWRtcNetworkQualityLevel]                                                   | 入会前网络检测回调网络质量等级 |
| [HWRtcVideoStatsInfo]                                                       | 视频信息            |
| [HWRtcAudioStatsInfo]                                                      | 音频信息            |
| [HWRtcVideoStreamType]                                                     | 大小流类型           |
| [HWRtcVideoEncodeResolutionMode]                                            | 视频编码比例模式        |
| [HWRtcGSensorMode]                                                          | 重力感应模式选择        |
| [HWRtcLocalAudioState]                                                      | 本地音频流状态         |
| [HWRtcLocalAudioStateReason]                                                | 本地音频流状态发生变化原因   |
| [HWRtcLocalVideoState]                                                      | 本地视频流状态         |
| [HWRtcLocalVideoStateReason]                                                  | 本地视频流状态发生变化原因   |
| [HWRtcQualityInfo]                                                          | 网络质量信息          |
| [HWRtcRemoteAudioMode]                                                     | 远端音频模式          |
| [HRTCOnStats]                                                               | 会话统计信息          |
| [HWRtcAudioFileState]                                                         | 音频文件播放状态        |
| [HWRtcAudioFileReason]                                                     | 音频文件播放状态变化原因    |
| [HWRtcLocalVideoStats]                                                      | 本端视频统计回调        |
| [HWRtcRemoteVideoStats]                                                     | 远端视频统计回调        |
| [HWRtcLocalAudioStats]                                                        | 本端音频统计回调        |
| [HWRtcRemoteAudioStats]                                                       | 远端音频统计回调        |
| [HRTCMediaOptions]                                                             | 媒体选参            |
| [HWRtcBeautyOptions]                                                        | 美颜参数            |
| [HWRTCEncryptionConfig]                                                    | 端到端加密参数         |
| [HRTCUrlStatusList](https://support.huaweicloud.com/csdk-rtc/rtc_05_0128.html#rtc_05_0128__section159071888515) | rtmp推流回调url状态列表 |
| [HWRtcVideoOrientaion]                                 | 方向（横竖屏）         |
| [HWRtcMediaConnChangeReason]                                                | 媒体连接状态          |
| [HwRtcNetProxyConfig]                                                        | 代理参数的配置         |
| [HWRTCAudioOperateMode]                                                     | 采集数据回调的处理模式     |
| [RtmpConfigModel]                                                           | RTMP推流设置参数模型    |
| [PublishStreamTypeModel]                                                    | RTMP推流流类型模型     |
| [TranscodeConfigModel]                                                      | RTMP推流模型        |
| [HWRtcStartAudioFileParam]                                                  | 音频文件参数          |
| [HWRtcAudioDeviceTestVolumeNotify]                                            | 音量测试回调          |
| [HRTCRtmpUrlInfoModel]                                                       | RTMP url数据模型    |
| [HWRTCCameraConfig]                                                         | 摄像头配置参数         |
| [HWRtcCameraDirection]                                                      | 摄像头方向           |
| [HWRtcVideoAuxiliarEncParam]                                               | 辅流编码能力          |
| [HWRtcAudioDeviceTestVolumeNotify]                                         | 音频设备测试回调数据      |
| [HwRtcNetProxyConfig]                                                        | 代理配置            |
| [HWRtcScreenShareSourceInfo]                                               | 共享资源信息          |
| [HWRtcScreenShareParam]                                                      | 共享对象参数          |
| [HWRtcScreenShareType]                                                      | 共享类型枚举          |
| [HWRtcNetworkBandwidth]                                                     | 带宽设置参数          |
| [HWRtcRemoteMicState]                                                      | 麦克风设备状态         |
| [HRTCMultiRoomMediaRelayConfiguration]                                     | 跨房配置            |
| [HRTCSrcMultiRoomMediaInfo]                                                  | 源房间信息           |
| [HRTCDstMultiRoomMediaInfo]                                                  | 目标房间信息          |
| [HRTCMultiRoomMediaRelayState]                                               | 跨房状态            |
| [HRTCMultiRoomMediaRelayStateCode]                                         | 跨房状态码           |
   
 #### HWRtcUserInfo
表2用户信息 
| 属性         | 类型                                                | 描述                    |
|:---|:---|:---|
| userId     | NSString                                          | 用户ID                  |
| userName   | NSString                                          | 用户昵称                  |
| signature  | NSString                                          | 鉴权签名，具体生成方法请参见17-接入鉴权 |
| ctime      | long long                                         | 鉴权时间戳                 |
| optionInfo | NSString                                          | 其他信息                  |
| role       | [HWRtcRole] | 用户角色                  |
   
 #### HWRtcJoinParam
表3入会参数 
| 属性                 | 类型                                                          | 描述                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| userId             | NSString                                                    | 用户ID，支持最大长度64，支持数字、字母大小写、下划线、中线、"."字符                                                                                                                                                                                                                                                                                                                       |
| userName           | NSString                                                    | 用户昵称，支持最大长度128                                                                                                                                                                                                                                                                                                                                              |
| ctime              | long long                                                   | 签名时间戳，单位秒，有signature时必选                                                                                                                                                                                                                                                                                                                                     |
| authorization      | NSString                                                    | 签名，必填，鉴权私钥请在[应用管理](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0001.html#section0)中获取，签名的具体生成方法请参见[接入鉴权](https://support.huaweicloud.com/csdk-rtc/rtc_05_0348.html)。支持最大长度为1024。                                                                                                                                                                  |
| role               | [HWRtcRole]           | 角色                                                                                                                                                                                                                                                                                                                                                          |
| optionalInfo       | NSString                                                    | 其他信息                                                                                                                                                                                                                                                                                                                                                        |
| roomId             | NSString                                                    | 房间Id，支持最大长度64，支持数字、字母大小写、下划线、中线字符                                                                                                                                                                                                                                                                                                                           |
| autoSubscribeVideo | bool                                                        | 是否自动订阅视频                                                                                                                                                                                                                                                                                                                                                    |
| autoSubscribeAudio | bool                                                        | 是否自动订阅音频                                                                                                                                                                                                                                                                                                                                                    |
| scenario           | [HWRtcRemoteAudioMode] | 使用的场景 - 0：主动订阅（默认）  - 1：TopN（千人）  - 2：P2P  - 3：RTSA CMD自动订阅   |
   
 #### HWRtcVideoEncode
表4编码设置 
| 属性               | 类型                                                     | 描述                                                                                                                                                                                                             |
|:---|:---|:---|
| streamFlag       | [HWRtcStreamType] | 视频编码类型，根据[HWRtcStreamType]和[表57 不同分辨率下帧率和码率的推荐值]设置需要的分辨率和宽高比                                                                           |
| width            | int                                                    | 视频分辨率宽                                                                                                                                                                                                         |
| height           | int                                                    | 视频分辨率高                                                                                                                                                                                                         |
| frameRate        | int                                                    | 视频帧率，可以参考[表56](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.html#rtc_05_0082__table15806112155510)和[表57](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.html#rtc_05_0082__table293952185616)进行设置 |
| minFrameRate     | int                                                    | 视频最小帧率，大于0，小于frameRate                                                                                                                                                                                         |
| bitrate          | int                                                    | 视频码率，可以参考[表56](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.html#rtc_05_0082__table15806112155510)和[表57](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.html#rtc_05_0082__table293952185616)进行设置 |
| minBitrate       | int                                                    | 视频最小码率，大于0，小于bitrate                                                                                                                                                                                           |
| disableAdjustRes | bool                                                   | 上行流是否自适应，推荐开启自适应（即disableAdjustRes赋NO）                                                                                                                                                                         |
   
 #### HWRtcDeviceInfo
设备信息，macOS SDK使用。
表5设备信息 
| 枚举值        | 类型       | 描述   |
|:---|:---|:---|
| deviceName | NSString | 设备名称 |
| deviceId   | NSString | 设备ID |
   
 #### HWRtcAudioQualityLevel
表6音频档位 
| 枚举值                           | 描述                                   |
|:---|:---|
| HWRtcAudioQualityLevelDefault | 默认值，表示使用采样率16KHZ、单声道、编码码率，最大值为30Kbps |
   
 #### HWRtcAudioSceneType
表7音频场景 
| 枚举值                    | 描述         |
|:---|:---|
| HWRtcAudioSceneDefault | 默认值，表示会议模式 |
| HWRtcAudioSceneMusic   | 表示音乐模式     |
   
 #### HWRtcLogLevel
表8日志级别 
| 枚举值                  | 描述            |
|:---|:---|
| HWRtcLogLevelError   | 输出ERROR级别日志   |
| HWRtcLogLevelWarning | 输出WARNING级别日志 |
| HWRtcLogLevelInfo    | 输出INFO级别日志    |
| HWRtcLogLevelDebug   | 输出DEBUG级别日志   |
   
 #### HWRtcEngineConfig
表9引擎配置 
| 属性             | 类型            | 描述                                                                                                                    |
|:---|:---|:---|
| appId          | NSString      | 应用ID，只有App ID相同的应用程序才能进入同一个房间进行互动。appId获取方法请参见[应用管理](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0001.html) |
| countryCode    | NSString      | 国家码，具体值请参见[国家码对照表](https://support.huaweicloud.com/csdk-rtc/rtc_05_0351.html)                                         |
| enableHaTrace  | BOOL          | 打点开关                                                                                                                  |
| muteAudioRoute | BOOL          | 是否禁音频路由                                                                                                               |
| enableLog      | BOOL          | 是否记录日志                                                                                                                |
| logLevel       | HWRtcLogLevel | 日志级别，具体请参见[HWRtcLogLevel]，默认值为HWRtcLogLevelDebug，推荐使用HWRtcLogLevelDebug            |
| logPath        | NSString      | 日志路径，需调用方保证路径合法可用，rtc仅做基础校验                                                                                           |
| logSize        | int           | 日志大小，默认值10M，推荐10M                                                                                                     |
   
 #### HWRtcRole
表10用户角色 
| 枚举值             | 描述           |
|:---|:---|
| HWRtcRoleJoiner | 双向流角色，例如主播加入 |
| HWRtcRolePlayer | 接收流角色，例如观众   |
   
 #### HWRtcMediaType
表11媒体类型 
| 枚举值                 | 描述      |
|:---|:---|
| HWRtcMediaTypeAudio | 只有音频流   |
| HWRtcMediaTypeVideo | 音频流+视频流 |
   
 #### HWRtcVideoDisplayMode
表12渲染模式 
| 枚举值                          | 描述                                                                  |
|:---|:---|
| HWRtcVideoDisplayModeFit     | 优先保证视频内容全部显示，视频尺寸等比缩放，直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同，视窗上未被填满的区域将被涂黑 |
| HWRtcVideoDisplayModeHIDDEN, | 优先保证视窗被填满，视频尺寸等比缩放，直至整个视窗被视频填满。如果视频长宽与显示窗口不同，多出的视频将被截掉              |
| HWRtcVideoDisplayModeFill,   | 视频尺寸进行缩放和拉伸以充满显示视窗                                                  |
   
 #### HWRtcStreamType
表13流类型 
| 枚举值                | 描述  |
|:---|:---|
| HWRtcStreamTypeSD  | 标清  |
| HWRtcStreamTypeHD  | 高清  |
| HWRtcStreamTypeFHD | 全高清 |
   
 #### HWRtcSpeakerModel
表14播放声音模式 
| 枚举值                       | 描述    |
|:---|:---|
| HWRtcSpeakerModelEarpiece | 听筒模式  |
| HWRtcSpeakerModelSpeaker  | 扬声器模式 |
   
 #### HWRtcVideoRotation
表15视频角度 
| 枚举值                   | 描述       |
|:---|:---|
| HWRtcVideoRotation0   | 视频角度0度   |
| HWRtcVideoRotation90  | 视频角度90度  |
| HWRtcVideoRotation180 | 视频角度180度 |
| HWRtcVideoRotation270 | 视频角度270度 |
   
 #### HWRtcAudioRoute
表16音频路由 
| 枚举值                      | 描述  |
|:---|:---|
| HWRtcAudioRouteSpeaker   | 扬声器 |
| HWRtcAudioRouteBluetooth | 蓝牙  |
| HWRtcAudioRouteReceiver  | 听筒  |
| HWRtcAudioRouteHeadset   | 耳机  |
   
 #### HWRtcDeviceType
设备类型，MAC SDK使用。
表17设备类型 
| 枚举值                         | 描述     |
|:---|:---|
| HWRtcDeviceTypePlayback     | 音频播放设备 |
| HWRtcDeviceTypeRecording    | 音频录制设备 |
| HWRtcDeviceTypeVideoCapture | 视频采集设备 |
   
 #### HWRtcDeviceState
设备状态，MAC SDK使用。
表18设备状态 
| 枚举值                       | 描述       |
|:---|:---|
| HWRtcDeviceStateActicve   | 设备状态活跃的  |
| HWRtcDeviceStateDisabled  | 设备状态不使能的 |
| HWRtcDeviceStateUnplugged | 设备状态断开的  |
   
 #### HWRtcConnChangeReason
表19网络连接状态改变原因 
| 枚举值                                       | 描述               |
|:---|:---|
| HWRtcConnChangeConnecting                 | 正在连接             |
| HWRtcConnChangeJoinSuccess                | 加入房间成功           |
| HWRtcConnChangeReconnecting               | 重连中              |
| HWRtcConnChangeReconnectSuccess           | 重连成功             |
| HWRtcConnChangeJoinFailed                 | 加入房间失败           |
| HWRtcConnChangeReconncetFailed            | 重连失败             |
| HWRtcConnChangeInterrupted                | 连接中断             |
| HWRtcConnChangeKeepAliveTimeout           | 心跳超时             |
| HWRtcConnChangeLeaveRoom                  | 主动离开房间           |
| HWRtcConnChangeJoinServerError            | 服务器异常            |
| HWRtcConnChangeSFUBreakdown               | sfu服务故障          |
| HWRtcConnChangeJoinRoomAuthFailed         | 鉴权失败，appid或者签名错误 |
| HWRtcConnChangeJoinRoomAuthRetry          | 鉴权重试             |
| HWRtcConnChangeJoinRoomAuthClockSync      | 时钟同步             |
| HWRtcConnChangeUrlNotRight                | URL错误400         |
| HWRtcConnChangeJoinRoomServiceUnreachable | 服务不可达503         |
| HWRtcConnChangeInternalError              | 内部错误             |
| HWRtcConnChangeKickedOff                  | 被踢               |
| HWRtcConnChangeSignatureExpired           | 签名过期             |
   
 #### HWRtcConnStateType
表20网络连接状态 
| 枚举值                            | 描述                       |
|:---|:---|
| HWRtcConnStateTypeDisconnected | 连接断开                     |
| HWRtcConnStateTypeConnecting   | 建立网络连接中                  |
| HWRtcConnStateTypeConnected    | 网络连接成功                   |
| HWRtcConnStateTypeReconnecting | 重新建立网络连接中                |
| HWRtcConnStateTypeFailed       | 网络连接失败                   |
| HWRtcConnStateTypeLost         | 失去网络10秒                  |
| HWRtcConnStateTypeInterrupted  | SDK在和服务器建立连接后，失去网络连接超过4秒 |
   
 #### HWRtcVideoCanvas
表21预览视图 
| 属性                                                     | 描述                           |
|:---|:---|
| @property (strong, nonatomic) UIView\* _Nullable view; | 视频显示视图，使用跟系统的UIView/NSView一样 |
| @property (assign, nonatomic) NSString uid;            | 视图的用户标识                      |
   
 #### HWRtcStatsInfo
表22卡顿统计信息 
| 属性                                                               | 描述              |
|:---|:---|
| @property (strong, nonatomic) NSString \*roomId;                 | 房间ID            |
| @property (strong, nonatomic) NSString \*userId;                 | 用户ID            |
| @property (assign, nonatomic) long long mildlyFrozenCounts;      | 400ms卡顿次数       |
| @property (assign, nonatomic) long long severelyFrozenCounts;    | 超过1s卡顿次数        |
| @property (assign, nonatomic) long long totalMildlyFrozenTime;   | 400ms卡顿总时长      |
| @property (assign, nonatomic) long long totalSeverelyFrozenTime; | 1s卡顿总时长         |
| @property (assign, nonatomic) long long totalActiveTime;         | 总时间，包括每一路选看时间总和 |
   
 #### HWRtcVideoMirrorType
表23视频镜像类型 
| 枚举值                         | 描述                         |
|:---|:---|
| HWRtcVideoMirrorTypeAuto    | SDK决定镜像方式：前置摄像头镜像，后置摄像头不镜像 |
| HWRtcVideoMirrorTypeEnable  | 前置摄像头和后置摄像头都镜像             |
| HWRtcVideoMirrorTypeDisable | 前置摄像头和后置摄像头都不镜像            |
   
 #### HWRtcRemoteAudioState
表24远端音频状态 
| 枚举值                               | 描述          |
|:---|:---|
| HWRtcRemoteAudioStateStopped      | 远端音频流关闭发送   |
| HWRtcRemoteAudioStateDecoding     | 远端音频流正常编码发送 |
| HWRtcRemoteAudioStateFirstDecoded | 远端音频流首包解码   |
   
 #### HWRtcRemoteAudioStateReason
表25远端音频状态变化原因 
| 枚举                                            | 描述          |
|:---|:---|
| HWRtcRemoteAudioStateReasonRemoteOffline      | 远端用户离线      |
| HWRtcRemoteAudioStateReasonRemoteMuted        | 远端用户停止音频流发送 |
| HWRtcRemoteAudioStateReasonRemoteUnmuted      | 远端用户开启音频流发送 |
| HWRtcRemoteAudioStateReasonRemoteFirstDecoded | 远端用户音频首包解码  |
   
 #### HWRtcRemoteVideoState
表26远端视频状态 
| 枚举值                           | 描述          |
|:---|:---|
| HWRtcRemoteVideoStateStopped  | 远端视频流关闭发送   |
| HWRtcRemoteVideoStateDecoding | 远端视频流正常编码发送 |
   
 #### HWRtcRemoteVideoStateReason
表27远端视频状态变化原因 
| 枚举值                                      | 描述          |
|:---|:---|
| HWRtcRemoteVideoStateReasonRemoteOffline | 远端用户离线      |
| HWRtcRemoteVideoStateReasonRemoteMuted   | 远端用户停止视频流发送 |
| HWRtcRemoteVideoStateReasonRemoteUnmuted | 远端用户开启视频流发送 |
   
 #### HWRtcLeaveReason
表28离开房间原因 
| 枚举值                                  | 描述      |
|:---|:---|
| HWRtcLeaveReasonUserLeaveRoom        | 用户主动离开  |
| HWRtcLeaveReasonServerError          | 服务器异常   |
| HWRtcLeaveReasonBreakdown            | sfu服务故障 |
| HWRtcLeaveReasonServiceUnreachable   | 服务不可达   |
| HWRtcLeaveReasonInternalError        | 内部错误    |
| HWRtcLeaveReasonKickedOff            | 被踢      |
| HWRtcLeaveReasonAuthorizationExpired | 签名过期    |
| HWRtcLeaveReasonReconnectFailed      | 重连超时    |
   
 #### HWRtcMediaUsersVolumeInfo
表29发言人音量信息 
| 属性                                               | 描述   |
|:---|:---|
| @property (strong, nonatomic) NSString \*userId; | 用户ID |
| @property (assign, nonatomic) int volume;        | 音量   |
   
 #### HWRtcMediaDirection
表30媒体方向 
| 枚举值                       | 描述 |
|:---|:---|
| HWRtcMediaDirectionLocal  | 本地 |
| HWRtcMediaDirectionRemote | 远端 |
   
 #### HWRtcAudioFilePlayMode
表31播放类型 
| 枚举                           | 描述     |
|:---|:---|
| HWRtcAudioFileLocalPlayMode  | 本地播放模式 |
| HWRtcAudioFileRemotePlayMode | 远端播放模式 |
   
 #### HWRtcAudioFrameType
表32音频帧格式 
| 枚举                       | 描述      |
|:---|:---|
| HWRtcAudioFrameTypePCM16 | 量化为16比特 |
   
 #### HWRtcVideoImageFormat
表33视频帧图片存储格式 
| 枚举                           | 描述                   |
|:---|:---|
| HWRtcVideoImageFormatYUV420P | 采样比例为4：2：0，存储方式为I420 |
| HWRtcVideoImageFormatYUV422I | 采样比例4：2：0            |
| HWRtcVideoImageFormatRGB24   | 格式为RGB               |
| HWRtcVideoImageFormatRGBA    | 格式为RGBA              |
   
 #### HWRtcVideoImageBufferType
表34视频帧缓冲区存储类型 
| 枚举                             | 描述                                               |
|:---|:---|
| HWRtcVideoImageBufferByteArray | Byte Array类型，对应HWRtcVideoImageFormat中的YUV、RGBA格式 |
   
 #### HwRtcImageBufferFormat
表35视频帧图片格式 
| 属性                                              | 描述                                                                               |
|:---|:---|
| @property HWRtcVideoImageFormat format;         | 视频帧图片存储格式，具体请参见[HWRtcVideoImageFormat]        |
| @property HWRtcVideoImageBufferType bufferType; | 视频帧缓冲区存储类型，具体请参见[HWRtcVideoImageBufferType] |
   
 #### HWRtcAudioFrame
表36音频信息 
| 属性                                                                        | 描述                                                                  |
|:---|:---|
| @property (nonatomic, assign) HWRtcAudioFrameType frameType;              | 音频帧类型，具体请参见[HWRtcAudioFrameType] |
| @property (nonatomic, assign) NSUInteger samples;                         | 每个声道的采样点数，iSamples=iSamplesPerSec \* 10ms /1000                     |
| @property (nonatomic, assign) NSUInteger samplesPerSec;                   | 采样率                                                                 |
| @property (nonatomic, assign) NSUInteger bytesPerSample; // bitsPerSample | 每个采样点的字节数，pcm数据一般2字节                                                |
| @property (nonatomic, assign) NSUInteger channels;                        | 声道数                                                                 |
| @property (strong, nonatomic) NSData \* _Nullable data;                   | 数据缓冲区，长度=samples\*bytesPerSample\*channels                          |
   
 #### HWRtcVideoFrame
表37视频帧信息 
| 属性                                                          | 描述                                                                    |
|:---|:---|
| @property (assign, nonatomic) HWRtcVideoImageFormat format; | 图像格式 ，具体请参见[HWRtcVideoImageFormat] |
| @property (assign, nonatomic) NSUInteger width;             | 图像宽度，作为输入时，范围为\[90,1920\]，必须是4的整数倍                                    |
| @property (assign, nonatomic) NSUInteger height;            | 图像高度，作为输入时，范围为\[90,1200\]，必须是2的整数倍                                    |
| @property (strong, nonatomic) NSData \* _Nullable data;     | 存储视频数据的buf地址                                                          |
| @property (assign, nonatomic) NSUInteger dataLen;           | 视频数据的长度，单位为Byte                                                       |
| @property (strong, nonatomic) NSString \*userId;            | 被选看的远端用户本地推流不需要赋值                                                     |
   
 #### HWRtcStartAudioFileParam
表38音频文件信息 
| 属性                                                               | 描述                                                                      |
|:---|:---|
| @property (nonatomic, strong) NSString \* _Nonnull fullFilePath; | 文件路径                                                                    |
| @property (nonatomic, assign) HWRtcAudioFilePlayMode playMode;   | 播放类型，具体请参见[HWRtcAudioFilePlayMode] |
| @property (nonatomic, assign) NSUInteger cycle;                  | 循环次数                                                                    |
| @property (nonatomic, assign) NSUInteger replace;                | 远端模式下面是否需要和麦克风做混音                                                       |
   
 #### HWRtcNetworkTestConfig
表39入会前网络检测配置 
| 属性                                                               | 描述                                                           |
|:---|:---|
| @property (strong, nonatomic) NSString \* _Nonnull userId        | 用户id                                                         |
| @property (strong, nonatomic) NSString \* _Nonnull roomId        | 房间ID，roomid建议由userid+随机数组成                                   |
| @property (strong, nonatomic) NSString \*signature               | 必选，签名信息                                                      |
| @property (nonatomic, assign) long long ctime                    | 必选，系统时间                                                      |
| @property (assign, nonatomic) BOOL enableUplinkTest              | 启动上行网络检测开关                                                   |
| @property (assign, nonatomic) BOOL enableDownlinkTest            | 启动下行网络检测开关                                                   |
| @property (nonatomic, assign) NSUInteger expectedUplinkBitrate   | 用户期望的最高发送码率，单位为bps，范围为0以及\[100000, 5000000\]，设为0表示由SDK指定最高码率 |
| @property (nonatomic, assign) NSUInteger expectedDownlinkBitrate | 用户期望的最高接收码率，单位为bps，范围为0以及\[100000, 5000000\]，设为0表示由SDK指定最高码率 |
   
 #### HWRtcNetworkTestResult
表40 
| 属性                                                                          | 描述                                                                              |
|:---|:---|
| @property (assign, nonatomic) HWRtcNetworkTestState state                   | 检测网络状态，具体请参见[HWRtcNetworkTestState]           |
| @property (nonatomic, strong) HWRtcNetworkTestResultParam \*uplinkResult    | 上行网络检测状态，具体请参见[HWRtcNetworkTestResultParam] |
| @property (nonatomic, strong) HWRtcNetworkTestResultParam \* downlinkResult | 下行网络检测状态，具体请参见[HWRtcNetworkTestResultParam] |
   
 #### HWRtcNetworkTestState
表41检测网络测试状态 
| 属性                   | 描述 |
|:---|:---|
| HWRtcNetworkTestOK   | 成功 |
| HWRtcNetworkTestFAIL | 失败 |
   
 #### HWRtcNetworkTestResultParam
表42检测网络回调信息 
| 属性                                                 | 描述 |
|:---|:---|
| @property (nonatomic, assign) NSInteger bitRate    | 码率 |
| @property (nonatomic, assign) NSInteger packetLoss | 丢包 |
| @property (nonatomic, assign) NSInteger delay      | 延时 |
| @property (nonatomic, assign) NSInteger jitter     | 抖动 |
   
 #### HWRtcVideoStatsInfo
表43视频信息 
| 属性                                           | 描述             |
|:---|:---|
| @(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;     | 视频抖动           |
   
 #### HWRtcAudioStatsInfo
表44音频信息 
| 属性                                           | 描述             |
|:---|:---|
| @(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;     | 音频抖动           |
   
 #### HWRtcNetworkQualityLevel
表45检测网络质量等级 
| 属性                           | 描述      |
|:---|:---|
| HWRtcNetworkQualityUnknown   | 网络质量未知  |
| HWRtcNetworkQualityExcellent | 网络质量非常好 |
| HWRtcNetworkQualityGood      | 网络质量好   |
| HWRtcNetworkQualityPoor      | 网络质量一般  |
| HWRtcNetworkQualityBad       | 网络质量差   |
| HWRtcNetworkQualityVbad      | 网络质量非常差 |
   
 #### HWRtcVideoStreamType
表46大小流类型 
| 属性                        | 描述   |
|:---|:---|
| HWRtcVideoStreamTypeBig   | 大流类型 |
| HWRtcVideoStreamTypeSmall | 小流类型 |
   
 #### HWRtcVideoEncodeResolutionMode
表47视频编码分辨率比例模式 
| 属性                                       | 描述    |
|:---|:---|
| HWRtcVideoEncodeResolutionModeNone       | 不固定比例 |
| HWRtcVideoEncodeResolutionModeConstRatio | 固定比例  |
   
 #### HWRtcGSensorMode
表48重力感应模式 
| 属性                           | 描述                                                                                         |
|:---|:---|
| HWRtcGSensorModeDisable      | 关闭重力感应                                                                                     |
| HWRtcGSensorModeUIAutoLayout | 开启重力感应 **注意**：SDK不会根据陀螺仪自动调整本地View的画面方向，而是需要您的APP开启了重力感应进行适配 |
   
 #### HWRtcLocalAudioState
表49本地音频流状态 
| 属性                            | 描述            |
|:---|:---|
| HWRtcLocalAudioStateStopped   | 本地音频流默认初始状态   |
| HWRtcLocalAudioStateRecording | 本地音频流录制设备启动成功 |
| HWRtcLocalAudioStateFailed    | 本地音频流启动失败     |
   
 #### HWRtcLocalAudioStateReason
表50本地音频流状态变化原因 
| 属性                                              | 描述                                       |
|:---|:---|
| HWRtcLocalAudioReasonErrorOk                    | 本地音频流状态正常                                |
| HWRtcLocalAudioReasonErrorFailure               | 本地音频流出错原因不明确                             |
| HWRtcLocalAudioReasonErrorRecordFailure         | 本地音频流录制失败，建议您检查录制设备是否正常工作                |
| HWRtcLocalAudioReasonErrorStopFailure           | 关闭采集失败                                   |
| HWRtcLocalAudioReasonErrorAccessDenied          | 音频设备API无法访问，可能是设备隐私权限设置问题                |
| HWRtcLocalAudioReasonErrorOnExclusiveMode       | 音频设备处于独占模式，且被其他应用独占                      |
| HWRtcLocalAudioReasonErrorMmsyserrInvalparam    | 音频设备API非法参数（仅适用于windows）                 |
| HWRtcLocalAudioReasonErrorMmsyserrNodriver      | 音频设备API返回无驱动，需要用户升级驱动（仅适用于windows）       |
| HWRtcLocalAudioReasonErrorAudioServerNotRunning | 用户windows audio服务未启动，或者启动失败（仅适用于windows） |
| HWRtcLocalAudioReasonErrorNoDevice              | 没有设备（仅适用于windows）                        |
| HWRtcLocalAudioReasonErrorRestartFailed         | 扬声器播放无数据，重启失败                            |
   
 #### HWRtcLocalVideoState
表51本地视频流状态 
| 属性                            | 描述            |
|:---|:---|
| HWRtcLocalVideoStateStopped   | 本地视频流默认初始状态   |
| HWRtcLocalVideoStateCapturing | 本地视频流采集设备启动成功 |
| HWRtcLocalVideoStateFailed    | 本地视频流启动失败     |
   
 #### HWRtcLocalVideoStateReason
表52本地视频流状态变化原因 
| 属性                                                          | 描述                                                         |
|:---|:---|
| HWRtcLocalVideoReasonErrorOk                                | 本地视频流状态正常                                                  |
| HWRtcLocalVideoReasonErrorFailure                           | 本地视频流出错原因不明确                                               |
| HWRtcLocalVideoReasonErrorCaptureFailure                    | 本地视频流录制失败，建议您检查录制设备是否正常工作                                  |
| HWRtcLocalVideoReasonErrorStopFailure                       | 关闭采集失败                                                     |
| HWRtcLocalVideoReasonErrorCaptureDeviceNoPermission         | 没有摄像头权限                                                    |
| HWRtcLocalVideoReasonErrorCaptureDeviceBusy                 | 摄像头设备已占用                                                   |
| HWRtcLocalVideoReasonErrorCaptureAppInBackground            | 应用处于后台                                                     |
| HWRtcLocalVideoReasonErrorCaptureOpenCameraFailed           | 打开摄像头设备失败（仅支持iOS）                                          |
| HWRtcLocalVideoReasonErrorCaptureMultipleForegroundApp      | 应用窗口处于侧拉、分屏、画中画模式（仅支持iOS）                                  |
| HWRtcLocalVideoReasonErrorCaptureMultipleDeviceDisconnected | 本地视频采集设备未连接（仅支持macOS）  |
   
 #### HWRtcQualityInfo
表53网络质量信息 
| 属性                                                            | 描述     |
|:---|:---|
| @property (strong, nonatomic) NSString \*userId;              | 用户ID   |
| @property (assign, nonatomic) HWRtcNetworkQualityLevel level; | 网络质量等级 |
| @property (assign, nonatomic) NSUInteger width;               | 宽度     |
| @property (assign, nonatomic) NSUInteger height;              | 高度     |
   
#### HWRtcNetworkQualityLevel
表54网络质量等级 
| 属性                           | 描述      |
|:---|:---|
| HWRtcNetworkQualityUnknown   | 网络质量未知  |
| HWRtcNetworkQualityExcellent | 网络质量非常好 |
| HWRtcNetworkQualityGood      | 网络质量好   |
| HWRtcNetworkQualityPoor      | 网络质量一般  |
| HWRtcNetworkQualityBad       | 网络质量差   |
| HWRtcNetworkQualityVbad      | 网络质量非常差 |
   
 #### HWRtcRemoteAudioMode
表55远端音频流收流模式 
| 枚举值                           | 描述                |
|:---|:---|
| HWRtcRemoteAudioSubscribe= 0  | 订阅模式（自主订阅）        |
| HWRtcRemoteAudioTopThre= 1    | TopN模式（收音量最大的三路流） |
| HRTC_REMOTE_AUDIO_P2P= 2      | P2P模式             |
| HRTC_REMOTE_AUDIO_RTSA_CMD =3 | RTSA-CMD模式        |
   
 表56不同分辨率下帧率和码率的推荐值 
| 分辨率        | 分辨率类型 | 比例   | 最小帧率（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 |
   
 表57不同场景下帧率和码率的推荐值 
| 分辨率        | 推荐帧率 | 通信场景推荐码率 | 直播场景推荐码率 |
|:---|:---|:---|:---|
| 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     |
   
 #### HRTCOnStats
表58引擎创建相关参数 
| 属性                     | 类型     | 描述               |
|:---|:---|:---|
| 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     |
   
 #### HWRtcAudioFileState
表59音频文件播放状态 
| 属性                           | 描述         |
|:---|:---|
| HWRtcAudioFileOpenCompleted  | 成功打开音频文件   |
| HWRtcAudioFileOpening        | 正在打开音频文件   |
| HWRtcAudioFileIdle           | 音频文件播放就绪   |
| HWRtcAudioFilePlaying        | 音频文件播放中    |
| HWRtcAudioFilePlayCompleted  | 音频文件播放完成   |
| HWRtcAudioFilePaused         | 音频文件暂停播放   |
| HWRtcAudioFileStopped        | 音频文件停止播放   |
| HWRtcAudioFileFailed         | 音频文件播放失败   |
| HWRtcAudioFilePositionUpdate | 音频文件播放进度更新 |
| HWRtcAudioFileStateUnknown   | 音频文件播放状态未知 |
   
 #### HWRtcAudioFileReason
表60音频播放状态变化原因 
| 枚举值                                        | 描述          |
|:---|:---|
| HWRtcAudioFileReasonNone                   | 没有错误        |
| HWRtcAudioFileReasonUrlNotFound            | 未找到URL      |
| HWRtcAudioFileReasonCodecNotSupported      | 解码器不支持该编码   |
| HWRtcAudioFileReasonInvalidArguments       | 非法参数        |
| HWRtcAudioFileReasonSrcBufferUnderflow     | 播放缓冲区数据不足   |
| HWRtcAudioFileReasonInterval               | 内部错误        |
| HWRtcAudioFileReasonInvalidState           | 播放器内部状态错误   |
| HWRtcAudioFileReasonNoResource             | 没有该资源       |
| HWRtcAudioFileReasonObjNotInitialized      | 对象未初始化      |
| HWRtcAudioFileReasonInvalidConnectionState | 播放器与服务器连接无效 |
| HWRtcAudioFileReasonUnknowdStreamType      | 未知的媒体流类型    |
| HWRtcAudioFileReasonVideoRenderFailed      | 渲染失败        |
| HWRtcAudioFileReasonInvalidMediaSource     | 无效的媒体资源     |
| HWRtcAudioFileReasonUnknown                | 状态未知        |
   
 #### HWRtcLocalVideoStats
表61本端视频统计回调 
| 枚举值                                             | 描述             |
|:---|:---|
| @(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  |
   
 #### 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回调中携带此数据 |
   
#### HRTCSfuType
表65Sfu类型 
| 枚举值                          | 描述      |
|:---|:---|
| HRTC_SFU_TYPE_PUBLIC_NETWORK | 公网sfu资源 |
   
 #### HRTCMediaOptions
表66媒体选参 
| 属性                 | 类型      | 描述     |
|:---|:---|:---|
| autoSubscribeAudio | boolean | 自动选看音频 |
| autoSubscribeVideo | boolean | 自动选看视频 |
   
 #### HWRtcBeautyOptions
表67美颜选参 
| 属性              | 类型    | 描述                             |
|:---|:---|:---|
| buffingLevel    | float | 磨皮档位，取0-1浮点数。默认值0.5，推荐使用默认值0.5 |
| complexionAlpha | float | 肤色档位，取0-1浮点数。默认值0.5，推荐使用默认值0.5 |
   
 #### HWRTCEncryptionConfig
表68加密配置 
| 函数\&属性                                                         | 描述                                                         |
|:---|:---|
| @(strong, nonatomic) HWRTCCryptionMode cryptionMode;           | HWRTCCryptionMode加密模式                                      |
| @(assign, nonatomic) HWRTCSuiteType suitType;                  | HWRTCSuiteType加密算法，仅模式HWRTCCryptionModeAuthenticationSdk需要 |
| @ (assign, nonatomic) NSString \*cryptionSec;                  | 加密密钥，仅模式HWRTCCryptionModeAuthenticationSdk需要设置             |
| @ (assign, nonatomic) HWRTCCryptionSecFormat cryptionSecFormat | HWRTCCryptionSecFormat ，密钥格式，当前只支持16进制字符串                  |
   
#### HWRTCCryptionMode
表69加密模式 
| 枚举值                                | 描述                                    |
|:---|:---|
| HWRTCCryptionModeDefault           | 不开启端到端加密，此时srtp认证（包校验）+加密             |
| HWRTCCryptionModeAuthenticationSdk | 开启端到端加密，srtp只认证（包校验），sdk内部加密, 必现配置key |
| HWRTCCryptionModeAuthenticationApp | 开启端到端加密，srtp只认证（包校验），应用层加密，需注册回调      |
   
#### HWRTCSuiteType
表70加密密钥 
| 函数\&属性               | 描述                                             |
|:---|:---|
| HWRTCSuiteType128Ctr | 加密密钥，仅模式HWRTCCryptionModeAuthenticationSdk需要设置 |
   
#### HWRTCCryptionSecFormat
表71密钥格式 
| 枚举值              | 描述                  |
|:---|:---|
| HWRTC_HEX_STRING | 16进制字符串格式。当前只支持此格式。 |
   
#### HRTCUrlStatusList
表72HRTCRtmpUrlInfo 
| 属性               | 描述     |
|:---|:---|
| char url\[1025\] | url字符串 |
| int status       | 状态码    |
| int errCode      | 错误码    |
   
 #### HWRtcMediaConnChangeReason
表73媒体连接状态 
| 属性                             | 描述     |
|:---|:---|
| HWRtcMediaConnChangedConnected | 连接成功   |
| HWRtcMediaConnChangedNATFailed | NAT未打通 |
   
 #### HWRtcVideoOrientaion
表74方向（横竖屏） 
| 枚举值                              | 描述 |
|:---|:---|
| HRTC_VIDEO_ORIENTATION__LANSCAPE | 横屏 |
| HRTC_VIDEO_ORIENTATION__PORTRAIT | 竖屏 |
   
 #### HwRtcNetProxyConfig
表75代理参数的配置 
| 属性           | 类型        | 描述        |
|:---|:---|:---|
| autoNetProxy | BOOL      | 是否开启自动代理  |
| address      | NSString  | 代理的地址     |
| port         | NSInteger | 代理端口      |
| name         | NSString  | 代理认证的账号名  |
| pwd          | NSString  | 代理认证的账号密码 |
   
 #### HWRTCAudioOperateMode
表76采集数据回调的处理模式 
| 属性                                                            | 描述     |
|:---|:---|
| enum HWRTCAudioOperateMode.HWRTC_AUDIO_OPERATE_READ_AND_WRITE | 可读可写模式 |
   
 #### RtmpConfigModel
表77RTMP推流设置参数模型 
| 属性              | 类型  | 描述                                                 |
|:---|:---|:---|
| width           | int | 旁路推流的输出视频流的总宽度，单位为px。360为默认值，取值范围为\[64-1920\]      |
| height          | int | 旁路推流的输出视频流的总高度，单位为px。640为默认值，取值范围为\[64-1920\]      |
| videoBitrate    | int | 旁路推流的输出视频的码率，单位为Kbps。默认值为400Kbps，取值范围\[32-2760\]，  |
| videoFramerate  | int | 旁路推流的输出视频的帧率，单位为fps。默认值为15，取值范围为 \[10,30\]         |
| videoGop        | int | 用于旁路直播的输出视频的GOP，单位为帧。默认值为30帧，取值范围为\[1-300\]        |
| audioSampleRate | int | 用于旁路直播的输出音频的采样率，默认16000，取值范围为\[16000-96000\]       |
| audioBitrate    | int | 旁路直播的输出音频的码率。单位为Kbps，默认值为48，最大值为128，取值范围为\[1-128\] |
| audioChannels   | int | 旁路直播的输出音频的声道数，默认1，取值范围为\[1-5\]                     |
| tmplate         | int | 0表示悬浮，1表示九宫格，2表示屏幕分享，默认为0                          |
   
 #### PublishStreamTypeModel
表78RTMP推流流类型模型 
| 属性      | 类型   | 描述     |
|:---|:---|:---|
| main    | bool | 是否推大流  |
| slides  | bool | 是否推小流  |
| desktop | bool | 是否推桌面流 |
| audio   | bool | 是否推音频流 |
   
 #### TranscodeConfigModel
表79RTMP推流模型 
| 属性                    | 类型                                                     | 描述       |
|:---|:---|:---|
| config                | RtmpConfigModel                                        | 混流的配置信息  |
| mapPublishStreamTypes | NSDictionary\<NSString \*, PublishStreamTypeModel \*\> | 混流用户的流信息 |
| userInfos             | NSArray\<NSString \*\>                                 | 混流用户信息   |
   
 #### HWRtcStartAudioFileParam
表80音频文件参数 
| 属性           | 类型                                                            | 描述                                                          |
|:---|:---|:---|
| fullFilePath | NSString                                                      | 音频文件路径                                                      |
| playMode     | [HWRtcAudioFilePlayMode] | 播放模式                                                        |
| cycle        | NSUInteger                                                    | 音频播放次数，0表示无限循环                                              |
| replace      | NSUInteger                                                    | 是否用音频文件替换麦克风采集的声音。1表示只使用音频文件发送到远端，0表示将本地麦克风采集并和音频文件混音后发送到远端 |
   
 #### HWRtcAudioDeviceTestVolumeNotify
表81音量测试回调 
| 属性             | 类型        | 描述          |
|:---|:---|:---|
| recordVolume   | NSInteger | 麦克风音量值0-100 |
| playbackVolume | NSInteger | 扬声器音量值0-100 |
   
 #### HRTCRtmpUrlInfoModel
表82RTMP url数据模型 
| 属性      | 类型       | 描述     |
|:---|:---|:---|
| url     | NSString | url字符串 |
| status  | int      | 状态码    |
| errCode | int      | 错误码    |
   
 #### HWRTCCameraConfig
表83摄像头配置参数 
| 属性        | 类型                   | 描述                                                                      |
|:---|:---|:---|
| direction | HWRtcCameraDirection | 摄像头方向枚举，具体请参见[HWRtcCameraDirection] |
   
 #### HWRtcCameraDirection
表84摄像头方向枚举 
| 枚举                        | 描述    |
|:---|:---|
| HWRtcCameraDirectionRear  | 后置摄像头 |
| HWRtcCameraDirectionFront | 前置摄像头 |
   
 #### HWRtcVideoAuxiliarEncParam
表85辅流编码能力 
| 属性        | 类型        | 描述                                                                                                                                                                                                          |
|:---|:---|:---|
| frameRate | NSInteger | 编码帧率，推荐帧率15帧                                                                                                                                                                                                |
| width     | NSInteger | 编码辅流宽。（iOS下根据宽，根据高按比例缩放）                                                                                                                                                                                    |
| height    | NSInteger | 编码辅流高。（iOS下如果屏幕宽度不超过1080，则视频源宽为720，否则为1080）                                                                                                                                                                 |
| bitrate   | NSInteger | 码率，具体设置参考[表56](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.html#rtc_05_0082__table15806112155510)和[表57](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.html#rtc_05_0082__table293952185616)。 |
   
 #### HWRtcAudioDeviceTestVolumeNotify
表86HWRtcAudioDeviceTestVolumeNotif 
| 属性             | 类型        | 描述    |
|:---|:---|:---|
| recordVolume   | NSInteger | 麦克风音量 |
| playbackVolume | NSInteger | 扬声器音量 |
   
 #### HwRtcNetProxyConfig
表87代理参数的配置 
| 属性           | 类型        | 描述        |
|:---|:---|:---|
| autoNetProxy | BOOL      | 是否开启自动代理  |
| address      | NSString  | 代理的地址     |
| port         | NSInteger | 代理端口      |
| name         | NSString  | 代理认证的账号名  |
| pwd          | NSString  | 代理认证的账号密码 |
   
 #### HWRtcScreenShareSourceInfo
表88共享资源信息 
| 属性         | 类型                   | 描述                                                                   |
|:---|:---|:---|
| sourceId   | NSInteger            | 采集源ID                                                                |
| sourceName | NSString             | 采集源名称                                                                |
| type       | HWRtcScreenShareType | 共享类型，具体请参见[HWRtcScreenShareType] |
| icon       | void\*               | 预留字段，暂不支持                                                            |
| rect       | NSRect               | 采集源区域                                                                |
   
 #### HWRtcScreenShareParam
表89共享对象参数 
| 属性            | 类型                   | 描述                                                                   |
|:---|:---|:---|
| type          | HWRtcScreenShareType | 共享类型，具体请参见[HWRtcScreenShareType] |
| viewID        | NSInteger            | 采集源ID                                                                |
| bCaptureMouse | BOOL                 | MAC不支持                                                               |
| rect          | NSRect               | 采集源区域                                                                |
| sourceName    | NSString             | 采集源名称                                                                |
   
 #### HWRtcScreenShareType
表90共享类型 
| 枚举值                         | 描述   |
|:---|:---|
| HWRtcScreenShareTypeDesktop | 桌面共享 |
| HWRtcScreenShareTypeWindow  | 窗口共享 |
   
 #### HWRtcVideoRemoteView
表91单个远端数据类型 
| 属性               | 类型                                                     | 描述           |
|:---|:---|:---|
| videoCanvas      | [HWRtcVideoCanvas] | 视频画布对象属性     |
| streamType       | [HWRtcStreamType] | 要订阅的编码类型     |
| disableAdjustRes | int                                                    | 下行码率自适应，默认关闭 |
| minResolution    | HWRtcStreamType                                        | 最小编码类型       |
   
 #### HWRtcNetworkBandwidth
表92上下行带宽 
| 属性           | 类型        | 描述                                        |
|:---|:---|:---|
| maxBandwidth | NSInteger | 带宽上限。单位：KB。有效范围为\[3072, 51200\]，即3M\~50M。 |
   
 #### HRTCMultiRoomMediaRelayConfiguration
表93HRTCMultiRoomMediaRelayConfiguration 
| 属性                | 类型                                                             | 描述              |
|:---|:---|:---|
| srcRoomMediaInfo  | [HRTCSrcMultiRoomMediaInfo] | 源房间的鉴权信息        |
| destRoomMediaInfo | [HRTCDstMultiRoomMediaInfo] | 目的跨房的房间信息以及鉴权信息 |
   
 #### HRTCSrcMultiRoomMediaInfo
表94HRTCSrcMultiRoomMediaInfo 
| 属性            | 类型           | 描述       |
|:---|:---|:---|
| authorization | const char\* | 源房间的鉴权信息 |
| userId        | const char\* | 源房间的用户名  |
| roomId        | const char\* | 源房间的房间号  |
| ctime         | long long    | 鉴权时间信息   |
   
 #### HRTCDstMultiRoomMediaInfo
表95HRTCDstMultiRoomMediaInfo 
| 属性            | 类型                                                   | 描述         |
|:---|:---|:---|
| authorization | const char\*                                         | 目标跨房的鉴权信息  |
| userId        | const char\*                                         | 目标跨房的虚拟用户名 |
| roomId        | const char\*                                         | 目标跨房房间号    |
| userRole      | [HRTCRoleType] | 跨房角色       |
| ctime         | long long                                            | 鉴权时间信息     |
   
 #### HRTCMultiRoomMediaRelayState
表96HRTCMultiRoomMediaRelayState 
| 属性                                           | 描述         |
|:---|:---|
| 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
表97HRTCMultiRoomMediaRelayStateCode 
| 属性                                                          | 描述                |
|:---|:---|
| 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            | 异常退出跨房            |
   
 #### HWRtcRemoteMicState
表98麦克风设备状态 
| 枚举值                           | 描述        |
|:---|:---|
| HWRTC_REMOTE_MIC_STATE_UNMUTE | 麦克风设备状态正常 |
| HWRTC_REMOTE_MIC_STATE_MUTE   | 麦克风设备状态静音 |
   
