【音视频】iOS CallLib开发指南

  

开通方式

音视频服务开通,请参考音视频开通方式说明。

使用说明

由于底层引擎技术不同,<代码> 2.6.0> 2.6.0>

音视频SDK为商用收费功能,之前的SDK中的实时音视频为免费测试功能,如果您还想使用之前的实时音视频,可以使用,<代码> 2.5.2>

集成说明

导入SDK

有两种方式可以将SDK导入您的项目中:

<李>

通过CocoaPods管理依赖

<李>

手动导入SDK并管理依赖

手动导入SDK

1,下载SDK您可以到融云官方网站下载SDK。

2,融云,<代码> IM SDK代码,是,<代码>调用SDK代码,的基础。使用,<代码> CallLib> IM SDK> IM SDK>

SDK文件说明

文件说明注意事项<代码> RongCallLib.framework <代码> CallLib> ,<代码>框架库必须导入<代码> AgoraRtcEngineKit.framework 通话引擎必须导入,否则通话功能将无法使用

3,手动集成了融云SDK之后,您需要在您的工程中导入

RongCallLib.framewrok, AgoraRtcEngineKit.framework以及系统库CoreMotion.framework, VideoToolbox.framework, libresolv.tbd。

4,在,<代码> Xcode> 构建设置→其它的链接器标志>

快速集成

使用融云通话之前,必须先初始化SDK和连接服务器,详细内容可以参考,IMLib快速集成文档。

1,发起通话

您可以调用,<代码> RCCallClient>

//, RCCallCleint 类/* !
  ,发起一个通话
  
  ,@param  conversationType 会话类型
  ,@param  targetId ,,,,,,,,目标会话ID
  ,@param  userIdList ,,,,,,邀请的用户ID列的表
  ,@param  type ,,,,,,,,,,,,发起的通话媒体类型
  ,@param  delegate ,,,,,,,,通话监听
  ,@param  extra ,,,,,,,,,,,附件信息
  
  ,@return 呼出的通话实体
  ,*/安康;(RCCallSession  *) startCall: conversationType (RCConversationType)
  ,,,,,,,,,,,,,,,,,,,targetId: targetId (NSString  *)
  ,,,,,,,,,,,,,,,,,,,,,,,,,:userIdList (NSArray  *)
  ,,,,,,,,,,,,,,,,,,mediaType: (RCCallMediaType)类型
  ,,,,,,,,,,,,sessionDelegate: (id 

其中,您可以通过返回的通话实体,操控通话和获取通话相关信息,通话状态发生变化时会通过您传入的委托进行回调。

2,接收呼入的通话

您需要设置,<代码> RCCallClient>

//, RCCallCleint 类/* !
  ,设置全局通话呼入的监听器
  
  ,@param  delegate  CallLib全局通话呼入的监听器
  ,*/安康;(void) setDelegate: (id 

3,会话是否支持发起通话

目前,SDK支持在单聊发起单人通话,在讨论组,群聊中发起多人通话。

您可以通过,<代码> RCCallClient>

//, RCCallClient 类/* !
  ,当前会话类型是否支持音频通话
  
  ,@param  conversationType 会话类型
  
  是,@return 否支持音频通话
  ,*/安康;(BOOL) isAudioCallEnabled: (RCConversationType) conversationType;/* !
  ,当前会话类型是否支持视频通话
  
  ,@param  conversationType 会话类型
  
  是,@return 否支持视频通话
  ,*/安康;(BOOL) isVideoCallEnabled: (RCConversationType) conversationType; 

4,获取当前的通话实体

您可以通过RCCallClient的以下接口,查询当前的通话实体。

//, RCCallClient 类/* !
  ,当前的通话会话实体
  ,*/@property (原子,,,只读的),RCCallSession  * currentCallSession; 

5,通过通话实体操控通话

通话实体,<代码> RCCallSession>

如:接听当前来电。

//, RCCallSession 类/* !
  ,接听来电
  
  ,@param  type 接听使用的媒体类型
  ,*/安康;(空白)接受:(RCCallMediaType)类型;

挂断当前通话。

//, RCCallSession 类/* !
  ,挂断通话
  ,*/安康;(空白)难题;

【音视频】iOS CallLib开发指南