说明
1.环信音视频和声网音视频 是两个不同的系统,所以如果要切换的话,需要集成声网的sdk,环信音视频的sdk可以直接废弃
2.文章会介绍如何用声网的音视频跑通demo,可以了解整个音视频通话的流程,
3.文章会介绍已经集成了环信im功能如何在集成声网添加音视频功能
前提条件
1.有环信开发者账号和声网的开发者账号
2.macOS系统,安装了xcode集成环境
跑通Demo
1.下载iOS Demo 地址:https://www.easemob.com/download/im
2.我这边下载的是4.0.3 版本,如果你的Xcode 版本运行demo报错的话,先找到podfile文件打开注释,并加上:config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0’
,如下图 ,在pod install
3.为了测试方便可以先把这个appkey 配置成自己的
4.连续点击版本号,切换成账号密码登录,到此im部分完成
搭建App Server生成声网token
1.参考文档搭建APPserver:https://docportal.shengwang.cn/cn/live-streaming-standard-legacy/token_server?platform=Android#%E5%AE%9E%E7%8E%B0%E9%89%B4%E6%9D%83%E6%B5%81%E7%A8%8B
全部复制,替换成自己的appid 和 appCertificate
2.如果出现Starting server at port 8082 说明搭建成功
3.在下图这里替换成自己声网的appid
4.在callDidRequestRTCTokenForAppId 这个方法做一下修改,主要是换成你自己的服务器生成的token,
5.以上修改完成就可以进行音视频通话了,如果通话正常可以去声网的控制台,看到通话记录。
到此恭喜你跑通Demo
把声网集成到已有项目中
说明:如果你之前集成环信的音视频,那么就直接废弃掉,从头集成声网音视频,我这边从新建项目开始
1.新建项目,并添加相应的库,pod install 一下,添加麦克风和摄像头权限
2.AppDelegate 文件里面进行环信初始化
3.使用xib 创建几个控件,并进行绑定
4.在 login点击事件调登录操作,登录成功之后进行EaseCallManager 类的初始化
注意:EaseCallManager只能在登录成功之后才能初始化,要不然发起通话会报错
5.实现EaseCallDelegate代理方法,需要在callDidRequestRTCToken回调中,获取APPserver的token,并设置,如下图
6.在call方法发起一对一视频通话,如下图
至此 代码完成,可以运行在两台设备上查看效果,如果能正常进行视频通话,那么恭喜你集成成功
总结
1.在环信控制台创建im项目,拿到appkey
2.在声网控制台创建音视频项目拿到appid 和 appCertificate
3.参考声网给的go语言的APPserver示例,全部复制下来,填上声网的appid 和 appCertificate,就直接运行
4.创建iOS项目,集成
pod 'AgoraRtcEngine_iOS/RtcBasic' //声网音视频库
pod 'HyphenateChat', '~> 4.0.3' //环信im库
pod 'EaseCallKit' //环信IMSDK作为信令封装的声网音视频SDK通话带UI组件库
这三个库
5.AppDelegate 文件里面进行环信初始化填上环信的appkey
6.登录成功的方法里面初始化EaseCallManager
7.发起视频通话邀请
8.邀请方和被邀请方都会走 func callDidRequestRTCToken(forAppId aAppId: String, channelName aChannelName: String, account aUserAccount: String, uid aAgoraUid: Int)
这个加入音视频通话频道前触发该回调,在这个回调函数里面获取各自的声网token,然后调用setRTCToken:channelName:方法将token设置进来
完毕
参考链接
注册环信:https://console.easemob.com/user/register
官方Demo下载:https://www.easemob.com/download/im
更多集成教程:https://www.imgeek.net/video/