参与文档共建赢好礼> HOT

TUICalling API(iOS)

最近更新时间:2022-06-02 15:36:36

TUICalling 是基于腾讯云实时音视频(TRTC)和即时通信 IM 服务组合而成的,支持1v1和多人视频通话。TUICalling 是一个开源的 Class,依赖腾讯云的两个闭源 SDK,具体的实现过程请参见 实时视频通话(iOS)

  • TRTC SDK:使用 TRTC SDK 作为低延时音视频通话组件。
  • IM SDK:使用 IM SDK 发送和处理信令消息。
说明:

TUIKit 系列组件同时使用了腾讯云 实时音视频 TRTC即时通信 IM 两个基础 PaaS 服务,开通实时音视频后会同步开通即时通信IM服务。即时通信 IM 服务详细计费规则请参见 即时通信 - 价格说明,TRTC 开通会默认关联开通 IM SDK 的体验版,仅支持100个 DAU。

TUICalling API 概览

SDK 基础函数

API 描述
sharedInstance 组件单例。
call C2C 邀请通话。
setCallingListener 设置监听器。
setCallingBell 设置铃声(建议在30s以内)
enableMuteMode 开启静音模式
enableCustomViewRoute 开启自定义视图

TUICallingListener API 概览

事件回调

API 描述
shouldShowOnCallView 被叫时请求拉起接听页面
onCallStart 呼叫开始回调。主叫、被叫均会触发
onCallEnd 通话回调。主叫、被叫均会触发
onCallEvent 通话事件回调

Type API 概览

通话类型

enum 描述
TUICallingTypeAudio 音频通话
TUICallingTypeVideo 视频通话

Role API 概览

用户角色类型

enum 描述
TUICallingRoleCall 通话发起方(主叫)
TTUICallingRoleCalled 通话接听方(被叫)

Event API 概览

事件类型

enum 描述
TUICallingEventCallStart 通话开始
TUICallingEventCallSucceed 通话接通成功
TUICallingEventCallEnd 通话结束
TUICallingEventCallFailed 通话失败

SDK 基础函数

sharedInstance

sharedInstance 是 TUICallingManager 的组件单例。

+ (instancetype)shareInstance;

call

C2C 邀请通话。

- (void)call:(NSArray<NSString *> *)userIDs type:(TUICallingType)type;

参数如下表所示:

参数 类型 含义
userIDs NSArray 通话用户 ID 列表
type TUICallingType 通话类型:音频/视频

setCallingListener

设置监听器。

- (void)setCallingListener:(id<TUICallingListerner>)listener;

参数如下表所示:

参数 类型 含义
listener TUICallingListener TUIcalling 组件监听器

setCallingBell

设置铃声(建议在30s以内)。

- (void)setCallingBell:(NSString *)filePath;

参数如下表所示:

参数 类型 含义
filePath NSString 铃音资源路径

enableMuteMode

开启静音模式。

- (void)enableMuteMode:(BOOL)enable;

参数如下表所示:

参数 类型 含义
enable BOOL 是否开启静音模式

enableCustomViewRoute

开启自定义视图。
开启后,会在呼叫/被叫开始回调中,接收到 CallingViewController 的实例,由开发者自行决定展示方式。

注意:

必须全屏展示,否则会有展示异常。

- (void)enableCustomViewRoute:(BOOL)enable;

参数如下表所示:

参数 类型 含义
enable BOOL 是否开启自定义视图

TUICallingListener 回调函数

shouldShowOnCallView

是否同意被叫时请求拉起接听页面。

- (BOOL)shouldShowOnCallView;

参数如下表所示:

参数 类型 含义
返回值 BOOL 是否同意

onCallStart

呼叫开始回调。主叫、被叫均会触发。

 - (void)callStart:(NSArray<NSString *> *)userIDs type:(TUICallingType)type role:(TUICallingRole)role viewController:(UIViewController * _Nullable)viewController;

参数如下表所示:

参数 类型 含义
userIDs NSArray 通话用户 ID 列表
type TUICallingType 通话类型:音频/视频
role TUICallingRole 用户角色类型:主叫/被叫
viewController UIViewController 通话视图 ViewController

onCallEnd

通话结束回调。主叫、被叫均会触发。enableCustomViewRoute 设置为 NO 时,此回调方法不会触发。

 - (void)callEnd:(NSArray<NSString *> *)userIDs type:(TUICallingType)type role:(TUICallingRole)role totalTime:(CGFloat)totalTime;

参数如下表所示:

参数 类型 含义
userIDs NSArray 通话用户 ID 列表
type TUICallingType 通话类型:音频/视频
role TUICallingRole 用户角色类型:主叫/被叫
totalTime CGFloat 通话时长,单位:秒

onCallEvent

通话事件回调。enableCustomViewRoute 设置为 NO 时,此回调方法不会触发。

- (void)onCallEvent:(TUICallingEvent)event type:(TUICallingType)type role:(TUICallingRole)role message:(NSString *)message;

参数如下表所示:

参数 类型 含义
event TUICallingEvent 通话事件类型。
type TUICallingType 通话类型:音频/视频
role TUICallingRole 用户角色类型:主叫/被叫
message NSString 事件的描述信息
目录