文档首页 > > SDK参考> iOS SDK> 接口参考> 数据类型

数据类型

分享
更新时间:2020/11/26 GMT+08:00

本章节列出了iOS SDK的所有数据类型,您可以结合HWRtcEngine接口和回调进行开发。

表1 数据类型

类型

描述

HWRtcUserInfo

用户信息

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

图像格式

HWRtcAudioFrame

音频数据信息

HWRtcVideoFrame

视频数据信息

HWRtcStartAudioFileParam

音频文件信息

HWRTCNetworkTestConfig

入会前网络检测配置

HWRTCNetworkTestResult

入会前网络检测回调结果

HWRTCNetworkTestState

入会前网络检测回调网络状态

HWRTCNetworkTestResultParam

入会前网络检测回调网络质量信息

HWRTCNetworkQualityLevel

入会前网络检测回调网络质量等级

HWRtcUserInfo

表2 用户信息

属性

类型

描述

userId

NSString

用户ID

userName

NSString

用户昵称

signature

NSString

鉴权签名,具体生成方法请参考接入鉴权

ctime

long long

鉴权时间戳

optionInfo

NSString

其他信息

role

HWRtcRole

用户角色。

HWRtcVideoEncode

表3 编码设置

属性

类型

描述

streamFlag

HWRtcStreamType

视频编码类型

width

int

视频分辨率宽

height

int

视频分辨率高

frameRate

int

视频帧率

minFrameRate

int

视频最小帧率

bitrate

int

视频码率

minBitrate

int

视频最小码率

disableAdjustRes

bool

上行流是否自适应

HWRtcDeviceInfo

设备信息,MAC SDK使用。

表4 设备信息

枚举值

类型

描述

deviceName

NSString

设备名称

deviceId

NSString

设备ID

HWRtcLogLevel

表5 日志级别

枚举值

描述

HWRtcLogLevelError

输出ERROR级别日志

HWRtcLogLevelWarning

输出WARNING级别日志

HWRtcLogLevelInfo

输出INFO级别日志

HWRtcLogLevelDebug

输出DEBUG级别日志

HWRtcRole

表6 用户角色

枚举值

描述

HWRtcRoleJoiner

双向流角色,例如主播加入

HWRtcRolePublisher

发布流角色,例如广播

HWRtcRolePlayer

接收流角色,例如观众

HWRtcMediaType

表7 媒体类型

枚举值

描述

HWRtcMediaTypeAudio

只有音频流

HWRtcMediaTypeVideo

音频流+视频流

HWRtcVideoDisplayMode

表8 渲染模式

枚举值

描述

HWRtcVideoDisplayModeFit

优先保证视频内容全部显示,视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。

HWRtcVideoDisplayModeHidden,

优先保证视窗被填满,视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉

HWRtcVideoDisplayModeFill,

视频尺寸进行缩放和拉伸以充满显示视窗。

HWRtcVideoDisplayModeAdapt

(iOS only)自适应模式,显示图像和设备的横竖屏不同使用黑边模式,横竖屏相同使用裁剪模式。

HWRtcStreamType

表9 流类型

枚举值

描述

HWRtcStreamTypeLD

流畅,90P

HWRtcStreamTypeSD

标清,180P

HWRtcStreamTypeHD

高清,360P

HWRtcStreamTypeFHD

全高清,720P

HWRtcSpeakerModel

表10 播放声音模式

枚举值

描述

HWRtcSpeakerModelEarpiece

听筒模式

HWRtcSpeakerModelSpeaker

扬声器模式

HWRtcVideoRotation

表11 视频角度

枚举值

描述

HWRtcVideoRotation0

视频角度0度

HWRtcVideoRotation90

视频角度90度

HWRtcVideoRotation180

视频角度180度

HWRtcVideoRotation270

视频角度270度

HWRtcAudioRoute

表12 音频路由

枚举值

描述

HWRtcAudioRouteSpeaker

扬声器

HWRtcAudioRouteBluetooth

蓝牙

HWRtcAudioRouteReceiver

听筒

HWRtcAudioRouteHeadset

耳机

HWRtcDeviceType

设备类型,MAC SDK使用。

表13 设备类型

枚举值

描述

HWRtcDeviceTypePlayback

音频播放设备

HWRtcDeviceTypeRecording

音频录制设备

HWRtcDeviceTypeVideoCapture

视频采集设备

HWRtcDeviceState

设备状态,MAC SDK使用。

表14 设备状态

枚举值

描述

HWRtcDeviceStateActicve

设备状态活跃的

HWRtcDeviceStateDisabled

设备状态不使能的

HWRtcDeviceStateUnplugged

设备状态断开的

HWRtcConnChangeReason

表15 网络连接状态改变原因

枚举值

描述

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

表16 网络连接状态

枚举值

描述

HWRtcConnStateTypeDisconnected

连接断开

HWRtcConnStateTypeConnecting

建立网络连接中

HWRtcConnStateTypeConnected

网络连接成功

HWRtcConnStateTypeReconnecting

重新建立网络连接中

HWRtcConnStateTypeFailed

网络连接失败

HWRtcVideoCanvas

表17 预览视图

属性

描述

@property (strong, nonatomic) HWRtcView* _Nullable view;

视频显示视图,HWRtcView只是UIView/NSView继承的子类,使用跟系统的UIView/NSView一样。

@property (assign, nonatomic) NSString uid;

视图的用户标识。

HWRtcStatsInfo

表18 卡顿统计信息

属性

描述

@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

表19 视频镜像类型

枚举值

描述

HWRtcVideoMirrorTypeAuto

SDK 决定镜像方式:前置摄像头镜像,后置摄像头不镜像

HWRtcVideoMirrorTypeEnable

前置摄像头和 后置摄像头都镜像

HWRtcVideoMirrorTypeDisable

前置摄像头和 后置摄像头都不镜像

HWRtcRemoteAudioState

表20 远端音频状态

枚举值

描述

HWRtcRemoteAudioStateStopped

远端音频流关闭发送

HWRtcRemoteAudioStateDecoding

远端音频流正常编码发送

HWRtcRemoteAudioStateReason

表21 远端音频状态变化原因

枚举

描述

HWRtcRemoteAudioStateReasonRemoteOffline

远端用户离线

HWRtcRemoteAudioStateReasonRemoteMuted

远端用户禁止音频流发送

HWRtcRemoteAudioStateReasonRemoteUnmuted

远端用户开启音频流发送

HWRtcRemoteVideoState

表22 远端视频状态

枚举值

描述

HWRtcRemoteVideoStateStopped

远端视频流关闭发送

HWRtcRemoteVideoStateDecoding

远端视频流正常编码发送

HWRtcRemoteVideoStateReason

表23 远端视频状态变化原因

枚举值

描述

HWRtcRemoteVideoStateReasonRemoteOffline

远端用户离线

HWRtcRemoteVideoStateReasonRemoteMuted

远端用户禁止视频流发送

HWRtcRemoteVideoStateReasonRemoteUnmuted

远端用户开启视频流发送

HWRtcLeaveReason

表24 离开房间原因

枚举值

描述

HWRtcLeaveReasonUserLeaveRoom

用户主动离开

HWRtcLeaveReasonServerError

服务器异常

HWRtcLeaveReasonBreakdown

sfu服务故障

HWRtcLeaveReasonServiceUnreachable

服务不可达

HWRtcLeaveReasonInternalError

内部错误

HWRtcLeaveReasonKickedOff

被踢

HWRtcLeaveReasonSignatureExpired

签名过期

HWRtcLeaveReasonReconnectFailed

重连超时

HWRtcMediaUsersVolumeInfo

表25 发言人音量信息

属性

描述

@property (strong, nonatomic) NSString *userId;

用户ID。

@property (assign, nonatomic) int volume;

音量。

HWRTCMediaDirection

表26 媒体方向

枚举值

描述

HWRTCMediaDirectionLocal

本地

HWRTCMediaDirectionRemote

远端

HWRtcAudioFilePlayMode

表27 播放类型

枚举

描述

HWRtcAudioFileLocalPlayMode

本地播放模式

HWRtcAudioFileRemotePlayMode

远端播放模式

HWRtcAudioFrameType

表28 音频帧格式

枚举

描述

HWRtcAudioFrameTypePCM16

量化为16比特

HWRtcVideoImageFormat

表29 视频帧格式

枚举

描述

HWRtcVideoImageFormatYUV420P

采样比例为4:2:0,存储方式为I420

HWRtcVideoImageFormatYUV422I

采样比例4:2:2

HWRtcVideoImageFormatRGB24

格式为RGB

HWRtcAudioFrame

表30 音频信息

属性

描述

@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

表31 视频帧信息

属性

描述

@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

表32 音频文件信息

属性

描述

@property (nonatomic, strong) NSString * _Nonnull fullFilePath;

文件路径

@property (nonatomic, assign) HWRtcAudioFilePlayMode playMode;

播放类型,具体请参见HWRtcAudioFilePlayMode

@property (nonatomic, assign) NSUInteger cycle;

循环次数

@property (nonatomic, assign) NSUInteger replace;

占位符,传0即可

HWRTCNetworkTestConfig

表33 入会前网络检测配置

属性

描述

@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

表34

属性

描述

@property (assign, nonatomic) HWRTCNetworkTestState state

检测网络状态,具体请参见 HWRTCNetworkTestState

@property (nonatomic, strong) HWRTCNetworkTestResultParam *uplinkResult

上行网络检测状态,具体请参见 HWRTCNetworkTestResultParam

@property (nonatomic, strong) HWRTCNetworkTestResultParam * downlinkResult

下行网络检测状态,具体请参见 HWRTCNetworkTestResultParam

HWRTCNetworkTestState

表35 检测网络测试状态

属性

描述

HWRTCNetworkTestOK

成功

HWRTCNetworkTestFAIL

失败

HWRTCNetworkTestResultParam

表36 检测网络回调信息

属性

描述

@property (nonatomic, assign) NSInteger bitRate

码率

@property (nonatomic, assign) NSInteger packetLoss

丢包

@property (nonatomic, assign) NSInteger delay

延时

@property (nonatomic, assign) NSInteger jitter

抖动

HWRTCNetworkQualityLevel

表37 检测网络质量等级

属性

描述

HWRTCNetworkQualityLevel1

信号1格

HWRTCNetworkQualityLevel2

信号2格

HWRTCNetworkQualityLevel3

信号3格

HWRTCNetworkQualityLevel4

信号4格

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问