更新时间:2024-10-24 GMT+08:00
分享

数据类型

本章节列出了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

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

签名,必填,鉴权私钥请在应用管理中获取,签名的具体生成方法请参见接入鉴权。支持最大长度为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表57进行设置

minFrameRate

int

视频最小帧率,大于0,小于frameRate

bitrate

int

视频码率,可以参考表56表57进行设置

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获取方法请参见应用管理

countryCode

NSString

国家码,具体值请参见国家码对照表

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

表65 Sfu类型

枚举值

描述

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

表72 HRTCRtmpUrlInfo

属性

描述

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

表77 RTMP推流设置参数模型

属性

类型

描述

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

表78 RTMP推流流类型模型

属性

类型

描述

main

bool

是否推大流

slides

bool

是否推小流

desktop

bool

是否推桌面流

audio

bool

是否推音频流

TranscodeConfigModel

表79 RTMP推流模型

属性

类型

描述

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

表82 RTMP 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表57

HWRtcAudioDeviceTestVolumeNotify

表86 HWRtcAudioDeviceTestVolumeNotif

属性

类型

描述

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

表93 HRTCMultiRoomMediaRelayConfiguration

属性

类型

描述

srcRoomMediaInfo

HRTCSrcMultiRoomMediaInfo

源房间的鉴权信息

destRoomMediaInfo

HRTCDstMultiRoomMediaInfo

目的跨房的房间信息以及鉴权信息

HRTCSrcMultiRoomMediaInfo

表94 HRTCSrcMultiRoomMediaInfo

属性

类型

描述

authorization

const char*

源房间的鉴权信息

userId

const char*

源房间的用户名

roomId

const char*

源房间的房间号

ctime

long long

鉴权时间信息

HRTCDstMultiRoomMediaInfo

表95 HRTCDstMultiRoomMediaInfo

属性

类型

描述

authorization

const char*

目标跨房的鉴权信息

userId

const char*

目标跨房的虚拟用户名

roomId

const char*

目标跨房房间号

userRole

HRTCRoleType

跨房角色

ctime

long long

鉴权时间信息

HRTCMultiRoomMediaRelayState

表96 HRTCMultiRoomMediaRelayState

属性

描述

HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_IDLE

就绪状态

HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_CONNECTING

正在连接

HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_RUNNING

主播成功加入目标房间

HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_FAILURE

发生异常

HRTCMultiRoomMediaRelayStateCode

表97 HRTCMultiRoomMediaRelayStateCode

属性

描述

HRTC_MULTI_ROOM_MEDIA_RELAY_OK

正常状态

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_SERVER_NO_RESPONSE

服务端无响应

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_INTERNAL_ERROR

服务器内部出错

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_USER_OVER_LIMIT

用户跨房超出限制数

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_OVER_LIMIT

房间跨房用户超出限制数

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_REQ_EMPTY

跨房请求消息体为空

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_OPERATION_CONFLICT

跨房请求,加入和退出存在冲突

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_SRC_USERINFO_INVALID

跨房请求原用户信息无效

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_WITH_ORI

跨房房间与原用户房间相同

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_REPEAT

跨房请求房间重复

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_USER_EXISTED

跨房用户已存在

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_INVALID_REQUEST

无效请求

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_IS_NOT_EXIST

房间不存在

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_FRAME_TYPE_NOT_EQUAL

跨房源房间和目的房间加密模式不一致

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_AUTHENTICATION_FAILURE

鉴权失败

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_REMOVE_INFO_NOT_EXIST

退出跨房信息不存在

HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_EXCEPTION_STOP

异常退出跨房

HWRtcRemoteMicState

表98 麦克风设备状态

枚举值

描述

HWRTC_REMOTE_MIC_STATE_UNMUTE

麦克风设备状态正常

HWRTC_REMOTE_MIC_STATE_MUTE

麦克风设备状态静音

相关文档