常用结构
TUICallDefine
类型 | 描述 |
通话参数 | |
离线推送厂商配置信息 |
TUICommonDefine
类型 | 描述 |
通话中音视频房间 ID | |
网络质量 | |
视频画面的渲染参数 | |
视频编码参数 |
枚举定义
TUICallDefine
类型 | 说明 |
通话类型 | |
通话角色 | |
通话状态 | |
通话场景 | |
iOS 离线推送类型 |
TUICommonDefine
类型 | 说明 |
音频设备 | |
摄像头类型 | |
网络质量 | |
视频画面填充模式 | |
视频画面旋转方向 | |
视频宽高比模式 | |
视频分辨率 |
CallParams
通话参数
类型 | 类型 | 描述 |
roomId | 通话中音视频房间ID | |
offlinePushInfo | 厂商离线推送配置信息 | |
timeout | int | 通话超时时间,默认:30s,单位:秒 |
userData | String |
OfflinePushInfo
类型 | 类型 | 描述 |
title | String | 离线推送展示通知栏标题 |
desc | String | 离线推送展示通知栏内容 |
ignoreIOSBadge | boolean | 离线推送忽略 badge 计数(仅对 iOS 生效), 如果设置为 true,在 iOS 接收端,这条消息不会使 APP 的应用图标未读计数增加。 |
iOSSound | String | 离线推送声音设置(仅对 iOS 生效)。 当 sound = IOS_OFFLINE_PUSH_NO_SOUND,表示接收时不会播放声音。 当 sound = IOS_OFFLINE_PUSH_DEFAULT_SOUND,表示接收时播放系统声音。 如果要自定义 iOSSound,需要先把语音文件链接进 Xcode 工程,然后把语音文件名(带后缀)设置给 iOSSound |
androidSound | String | 离线推送声音设置(仅对 Android 生效, IMSDK 6.1 及以上版本支持)。 只有华为和谷歌手机支持设置声音提示,小米手机设置声音提示,请您参照:小米自定义铃声。 另外,谷歌手机 FCM 推送在 Android 8.0 及以上系统设置声音提示,必须调用 setAndroidFCMChannelID 设置好 channelID,才能生效 |
androidOPPOChannelID | String | 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID |
androidVIVOClassification | int | VIVO 推送消息分类 (待废弃接口,VIVO 推送服务于 2023 年 4 月 3 日优化消息分类规则,推荐使用 setAndroidVIVOCategory 设置消息类别)。0:运营消息 1:系统消息,默认取值为 1 |
androidXiaoMiChannelID | String | 小米手机 8.0 系统及以上的渠道 ID |
androidFCMChannelID | String | FCM 通道手机 8.0 系统及以上的渠道 ID |
androidHuaWeiCategory | String | |
isDisablePush | boolean | 是否关闭推送(默认开启推送) |
iOSPushType | iOS 离线推送类型,默认:APNs |
RoomId
通话中音视频房间ID
intRoomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 intRoomId 需要填写为 0。若两者都填,SDK 将优先选用 intRoomId。
不要混用 intRoomId 和 strRoomId,因为它们之间是不互通的,比如数字123和字符串123是两个完全不同的房间。
类型 | 类型 | 描述 |
intRoomId | int | 数字房间号 取值范围 1 - 2147483647(2^31-1) |
strRoomId | String | 字符串房间号
推荐取值 限制长度为 64 字节。以下为支持的字符集范围(共 89 个字符): 大小写英文字母(a-zA-Z); 数字(0-9); 空格、 ! 、# 、$ 、% 、& 、( 、) 、+ 、- 、: 、; 、< 、= 、. 、> 、? 、@ 、[ 、] 、^ 、_ 、{ 、} 、| 、~ 、, 。 |
注意:
字符串房间号目前只支持 Android、iOS、Flutter、Uniapp 平台,Web、小程序等其他平台后续支持,敬请期待!
NetworkQualityInfo
用户网络质量
类型 | 类型 | 描述 |
userId | String | 用户 ID |
quality | 网络质量 |
VideoRenderParams
视频画面的渲染参数
类型 | 类型 | 描述 |
fillMode | 视频画面填充模式 | |
rotation | 视频画面旋转方向 |
VideoEncoderParams
视频编码参数
类型 | 类型 | 描述 |
resolution | 视频分辨率 | |
resolutionMode | 视频宽高比 |
MediaType
通话类型
类型 | 取值 | 描述 |
Unknown | 0 | 未知类型 |
Audio | 1 | 语音通话 |
Video | 2 | 视频通话 |
Role
通话角色
类型 | 取值 | 描述 |
None | 0 | 未知类型 |
Caller | 1 | 主叫(邀请方) |
Called | 2 | 被叫(被邀请方) |
Status
通话状态
类型 | 取值 | 描述 |
None | 0 | 未定义 |
Waiting | 1 | 通话等待中 |
Accept | 2 | 通话已接听 |
Scene
通话场景
类型 | 取值 | 描述 |
GROUP_CALL | 0 | 群组通话 |
MULTI_CALL | 1 | 匿名群组通话(暂不支持,敬请期待) |
SINGLE_CALL | 2 | 单人通话 |
IOSOfflinePushType
iOS离线推送类型
类型 | 取值 | 描述 |
APNs | 0 | 普通推送 |
VoIP | 1 | VoIP 推送 |
AudioPlaybackDevice
音频设备
类型 | 取值 | 描述 |
Earpiece | 0 | 听筒 |
Speakerphone | 1 | 扬声器 |
Camera
前置/后置 摄像头
类型 | 取值 | 描述 |
Front | 0 | 前置摄像头 |
Back | 1 | 后置摄像头 |
NetworkQuality
网络质量
类型 | 取值 | 描述 |
Unknown | 0 | 未定义 |
Excellent | 1 | 当前网络非常好 |
Good | 2 | 当前网络比较好 |
Poor | 3 | 当前网络一般 |
Bad | 4 | 当前网络较差 |
Vbad | 5 | 当前网络很差 |
Down | 6 | 当前网络不满足通话的最低要求 |
FillMode
视频画面填充模式
类型 | 取值 | 描述 |
Fill | 0 | 填充模式:即将画面内容居中等比缩放以充满整个显示区域,超出显示区域的部分将会被裁剪掉,此模式下画面可能不完整。 |
Fit | 1 | 适应模式:即按画面长边进行缩放以适应显示区域,短边部分会被填充为黑色,此模式下图像完整但可能留有黑边。 |
Rotation
视频画面旋转方向
类型 | 取值 | 描述 |
Rotation_0 | 0 | 不旋转 |
Rotation_90 | 1 | 顺时针旋转90度 |
Rotation_180 | 2 | 顺时针旋转180度 |
Rotation_270 | 3 | 顺时针旋转270度 |
ResolutionMode
视频宽高比模式
类型 | 取值 | 描述 |
Landscape | 0 | 横屏分辨率,例如:Resolution.Resolution_640_360 + ResolutionMode.Landscape = 640 × 360。 |
Portrait | 1 | 竖屏分辨率,例如:Resolution.Resolution_640_360 + ResolutionMode.Portrait = 360 × 640。 |
Resolution
视频分辨率
类型 | 取值 | 描述 |
Resolution_640_360 | 108 | 宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps |
Resolution_640_480 | 62 | 宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps |
Resolution_960_540 | 110 | 宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps |
Resolution_960_720 | 64 | 宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps |
Resolution_1280_720 | 112 | 宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps |
Resolution_1920_1080 | 114 | 宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps |