腾讯云即时通信IMTUICallEngine_AI解决方案_同尘科技
TUICallEngine API 简介
TUICallEngine API 是音视频通话组件的无 UI 接口,如果 TUICallKit 的交互并不满足您的需求,您可以使用这套接口自己封装交互。
API 概览
API | 描述 |
createInstance | 创建 TUICallEngine 实例(单例模式) |
destroyInstance | 销毁 TUICallEngine 实例(单例模式) |
init | 完成音视频通话基础能力的鉴权 |
addObserver | 增加事件回调 |
removeObserver | 移除回调接口 |
call | 发起 1v1 通话 |
groupCall | 发起群组通话 |
accept | 接听通话 |
reject | 拒绝通话 |
hangup | 结束通话 |
ignore | 忽略通话 |
inviteUser | 在群组通话中,邀请其他人加入 |
joinInGroupCall | 主动加入当前的群组通话中 |
switchCallMediaType | 切换通话媒体类型,例如视频通话切音频通话 |
startRemoteView | 开始订阅远端用户视频流 |
stopRemoteView | 停止订阅远端用户视频流 |
openCamera | 开启摄像头 |
closeCamera | 关闭摄像头 |
switchCamera | 切换前后摄像头 |
openMicrophone | 打开麦克风 |
closeMicrophone | 关闭麦克风 |
selectAudioPlaybackDevice | 选择音频播放设备(听筒/扬声器) |
setSelfInfo | 设置用户的昵称、头像 |
enableMultiDeviceAbility | 开启/关闭 TUICallEngine 的多设备登录模式 (尊享版套餐支持) |
setVideoRenderParams | 设置用户视频画面的渲染模式 |
setVideoEncoderParams | 设置视频编码的编码参数 |
getTRTCCloudInstance | 高级接口,用于接入第三方美颜等 |
setBeautyLevel | 设置美颜级别,支持关闭默认美颜 |
API 详情
createInstance
创建 TUICallEngine 的单例。
- (TUICallEngine *)createInstance;
destroyInstance
销毁 TUICallEngine 的单例。
- (void)destroyInstance;
init
初始化函数,请在使用所有功能之前先调用该函数,以便完成包含通话服务鉴权在内初始化动作。
- (void)init:(NSString *)sdkAppID userId:(NSString *)userId userSig:(NSString *)userSig succ:(TUICallSucc)succ fail:(TUICallFail)fail;
参数如下表所示:
参数 | 类型 | 含义 |
sdkAppID | Int | 您可以在实时音视频控制台 >应用管理 > 应用信息中查看 SDKAppID |
userId | String | 当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_) |
userSig | String | 腾讯云设计的一种安全保护签名,获取方式请参见 如何计算及使用 UserSig |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
addObserver
添加回调接口,您可以通过这个接听,监听 TUICallObserver 相关的事件回调。
- (void)addObserver:(id)observer;
removeObserver
移除回调接口。
- (void)removeObserver:(id)observer;
call
拨打电话(1v1通话)注意:字符串房间号目前只支持 Android 和 iOS平台,Web、小程序、Flutter、Uniapp 等其他平台后续支持,敬请期待~
- (void)call:(NSString *)userId callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail
参数如下表所示:
参数 | 类型 | 含义 |
userId | NSString | 目标用户的 userId |
callMediaType | TUICallMediaType | 通话的媒体类型,例如视频通话、语音通话 |
params | TUICallParams | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
groupCall
发起群组通话。注意:使用群组通话前需要创建IM 群组,如果已经创建,请忽略;字符串房间号目前只支持 Android 和 iOS平台,Web、小程序、Flutter、Uniapp 等其他平台后续支持,敬请期待~
- (void)groupCall:(NSString *)groupId userIdList:(NSArray *)userIdList callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail
参数 | 类型 | 含义 |
groupId | NSString | 此次群组通话的群 ID |
userIdList | NSArray | 目标用户的 userId 列表 |
callMediaType | TUICallMediaType | 通话的媒体类型,例如视频通话、语音通话 |
params | TUICallParams | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
accept
接受当前通话,当您作为被叫收到 onCallReceived()
的回调时,可以调用该函数接听来电。
- (void)accept:(TUICallSucc)succ fail:(TUICallFail)fail;
reject
拒绝当前通话,当您作为被叫收到 onCallReceived()
的回调时,可以调用该函数拒绝来电。
- (void)reject:(TUICallSucc)succ fail:(TUICallFail)fail;
ignore
忽略当前通话,当您作为被叫收到 onCallReceived()
的回调时,可以调用该函数忽略来电,此时主叫会收到onUserLineBusy
的回调。
备注:如果您的业务中存在直播、会议等场景,在直播/会议中的情况时,也可以调用这个函数来忽略此次来电。
- (void)ignore:(TUICallSucc)succ fail:(TUICallFail)fail;
hangup
挂断当前通话,当您处于通话中,可以调用该函数结束通话。
- (void)hangup:(TUICallSucc)succ fail:(TUICallFail)fail;
inviteUser
邀请用户加入此次群组通话。
使用场景:一个群组通话中的用户主动邀请其他人时使用。
- (void)inviteUser:(NSArray *)userIdList params:(TUICallParams *)params succ:(void(^)(NSArray *userIdList))succ fail:(TUICallFail)fail
参数 | 类型 | 含义 |
userIdList | NSArray | 目标用户的 userId 列表 |
params | TUICallParams | 通话参数扩展字段,例如:离线推送自定义内容 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
joinInGroupCall
主动加入此次群组通话。
使用场景:群组内用户主动加入此次群组通话使用。
- (void)joinInGroupCall:(TUIRoomId *)roomId groupId:(NSString *)groupId callMediaType:(TUICallMediaType)callMediaType succ:(TUICallSucc)succ fail:(TUICallFail)fail;
参数 | 类型 | 含义 |
roomId | TUIRoomId | 此次通话的音视频房间 ID,目前仅支持数字房间号,后续版本会支持字符串房间号 |
groupId | NSString | 此次群组通话的群 ID |
callMediaType | TUICallMediaType | 通话的媒体类型,例如视频通话、语音通话 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
switchCallMediaType
切换视频通话到语音通话。
- (void)switchCallMediaType:(TUICallMediaType)newType;
参数 | 类型 | 含义 |
callMediaType | TUICallMediaType | 通话的媒体类型,例如视频通话、语音通话 |
startRemoteView
设置显示视频画面的 View 对象
- (void)startRemoteView:(NSString *)userId videoView:(TUIVideoView *)videoView onPlaying:(void(^)(NSString *userId))onPlaying onLoading:(void(^)(NSString *userId))onLoading onError:(void(^)(NSString *userId, int code, NSString *errMsg))onError;
参数 | 类型 | 含义 |
userId | NSString | 目标用户的 userId |
videoView | TUIVideoView | 待渲染的视图 |
stopRemoteview
停止订阅远端用户的视频数据。
- (void)stopRemoteView:(NSString *)userId;
参数 | 类型 | 含义 |
userId | NSString | 目标用户的 userId |
openCamera
开启摄像头。
- (void)openCamera:(TUICamera)camera videoView:(TUIVideoView *)videoView succ:(TUICallSucc)succ fail:(TUICallFail)fail;
参数 | 类型 | 含义 |
camera | TUICamera | 前置/后置 摄像头 |
videoView | TUIVideoView | 待渲染的视图 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
closeCamera
关闭摄像头。
- (void)closeCamera;
switchCamera
切换前后摄像头。
- (void)switchCamera:(TUICamera)camera;
参数 | 类型 | 含义 |
camera | TUICamera | 前置/后置 摄像头 |
openMicrophone
打开麦克风。
- (void)openMicrophone:(TUICallSucc)succ fail:(TUICallFail)fail;
closeMicrophone
关闭麦克风。
- (void)closeMicrophone;
selectAudioPlaybackDevice
选择音频播放设备。
目前支持听筒、扬声器,在通话场景中,可以使用这个接口来开启/关闭免提模式。
- (void)selectAudioPlaybackDevice:(TUIAudioPlaybackDevice)device;
参数 | 类型 | 含义 |
device | TUIAudioPlaybackDevice | 听筒/扬声器 |
setSelfInfo
设置用户昵称、头像。
用户昵称不能超过500字节,用户头像必须是 URL 格式。
- (void)setSelfInfo:(NSString * _Nullable)nickName avatar:(NSString * _Nullable)avatar succ:(TUICallSucc)succ fail:(TUICallFail)fail;
enableMultiDeviceAbility
开启/关闭 TUICallEngine 的多设备登录模式 (尊享版套餐支持)
- (void)enableMultiDeviceAbility:(BOOL)enable succ:(TUICallSucc)succ fail:(TUICallFail)fail;
setVideoRenderParams
设置用户视频画面的渲染模式。
- (void)setVideoRenderParams:(NSString *)userId params:(TUIVideoRenderParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail;
参数如下表所示:
参数 | 类型 | 含义 |
userId | NSString | 目标用户的 userId |
params | TUIVideoRenderParams | 视频画面渲染参数,例如:画面旋转角度、填充模式 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
setVideoEncoderParams
设置视频编码的编码参数。该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
- (void)setVideoEncoderParams:(TUIVideoEncoderParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail;
参数如下表所示:
参数 | 类型 | 含义 |
params | TUIVideoEncoderParams | 视频编码的参数,例如:分辨率、视频宽高比 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
getTRTCCloudInstance
高级接口。用于接入第三方美颜等。
- (TRTCCloud *)getTRTCCloudInstance;
setBeautyLevel
设置美颜级别,支持关闭默认美颜。
- (void)setBeautyLevel:(CGFloat)level succ:(TUICallSucc)succ fail:(TUICallFail)fail;
参数如下表所示:
参数 | 类型 | 含义 |
level | CGFloat | 美颜级别,取值范围 0 – 9; 0 表示关闭,9 表示效果最明显。 |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?