手把手教你从零开始集成声网音视频功能(iOS版)

说明

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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19310.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊买家号如何绑定信用卡

要在亚马逊上绑定信用卡作为买家号的支付方式,请按照以下步骤进行操作: 1、登录亚马逊账户:使用您的亚马逊账户用户名和密码登录到亚马逊网站。 2、导航至"我的账户":在页面右上角,将鼠标悬停在"你好…

智慧楼宇数字化整体整体解决方案

导读:原文《智慧楼宇数字化整体整体解决方案》ppt(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式: 如需获取完…

解释 void 类型转换: (void)++y

谢谢大师们的指导,保存,分享

k8s kubeadmin方式安装部署

1、节点至少2C2G. 2、首先安装docker, sudo yum install -y docker-ce docker-ce-cli containerd.io#以下是在安装k8s使用的docker版本。注意保持一致 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6sudo mkdir -p /etc/docker su…

【技巧】Latex在线工具:公式编辑器、表格编辑器

找到什么再补充 目录 表格编辑器 公式编辑器 表格编辑器 https://www.tablesgenerator.com/ 公式编辑器 https://www.latexlive.com/

为Kubernetes(k8s)集群安装仪表盘(Dashboard)

为Kubernetes集群安装仪表盘 文档说明部署仪表盘(Dashboard UI)访问 Dashboard 用户界面 文档说明 对应本片文章的视频教程地址:https://www.bilibili.com/video/BV1MF41197RS/?vd_source98deeeab6739fa30792cfcffa994b50e 在之前的文章当中我们搭建了一个kubern…

VMware虚拟机里的Ubuntu通过主机的代理联网

问题描述:主机win10,通过代理联网。主机里装有VMware的虚拟机Ubuntu,想要通过主机的代理进行上网。 步骤: 1 将虚拟机的网络设置为NAT模式。 2 在win10命令行中输入ipconfig,查询ipv4的局域网地址。(注&…

C语言—模拟实现memcpy,memmove

1.memcpy函数的介绍与实现 函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。 这个函数在遇到 \0 的时候并不会停下来。 如果source和destination有任何的重叠,复制的结果都是未定义的。 void * memcpy ( void * destination, const v…

mysql,对表的简单操作

一.创建表并插入数据 mysql> create table worker(-> department_id int(11) not null comment 部门号,-> worker_id int(11) primary key not null comment 职工号,-> worker_date date not null comment 工作时间,-> wages float(8,2) not null comment 工资…

【AGC】性能管理服务报502问题

【关键字】 AGC、性能管理、502 【问题描述】 有开发者反馈在使用AGC性能管理服务报502错误,接入了analytic sdk 是正常的上报分析数据,但尝试接入apms时出现无法上报情况。 日志截图如下,可以看到分析服务是正常的200上报了数据&#xff…

【微信小程序创作之路】- 小程序常用页面样式

【微信小程序创作之路】- 小程序常用页面样式 第四章 微信小程序用页面样式 文章目录 【微信小程序创作之路】- 小程序常用页面样式前言一、总体样式--全局样式and局部样式1.全局样式2.局部样式 二、Flex布局🍉🍉🍉rpx单位 三、样式导入四、…

Spring Security OAuth2.0(2):基于session的认证方式

文章目录 认证流程创建工程1 创建maven工程2. 实现认证功能3. 会话功能4. 授权功能 认证流程 \qquad 基于session的认证方式如下 \qquad 它的交互流程是,用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话)中,发给客户端的s…