开通方式
音视频服务开通,请参考音视频开通方式说明。
使用说明
由于底层引擎技术不同,<代码> 2.6.0> 代码,之后的音视频SDK与,<代码> 2.6.0> 代码,之前的SDK中的实时音视频不能互通。
音视频SDK为商用收费功能,之前的SDK中的实时音视频为免费测试功能,如果您还想使用之前的实时音视频,可以使用,<代码> 2.5.2> 代码,版本。
集成说明
导入SDK
有两种方式可以将SDK导入您的项目中:
- <李>
通过CocoaPods管理依赖
李> <李>手动导入SDK并管理依赖
李>手动导入SDK
1,下载SDK您可以到融云官方网站下载SDK。
2,融云,<代码> IM SDK代码>,是,<代码>调用SDK代码>,的基础。使用,<代码> CallLib> 代码,必须同时集成使用融云,<代码> IM SDK> 代码。手动导入,<代码> IM SDK> 代码,可以参考,IM SDK -下载与导入SDK文档。
SDK文件说明
文件说明注意事项<代码> RongCallLib.framework 代码> <代码> CallLib> 代码,的,代码>,<代码>框架库必须导入<代码> AgoraRtcEngineKit.framework 代码>通话引擎必须导入,否则通话功能将无法使用3,手动集成了融云SDK之后,您需要在您的工程中导入
RongCallLib.framewrok, AgoraRtcEngineKit.framework以及系统库CoreMotion.framework, VideoToolbox.framework, libresolv.tbd。
4,在,<代码> Xcode> 代码,项目,<代码>构建设置→其它的链接器标志> 代码,中,增加“-ObjC"。
快速集成
使用融云通话之前,必须先初始化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: (id3,会话是否支持发起通话
目前,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开发指南