iOS音视频开源框架WebRTC入门-简单应用
2017-06-06 本文已影响1235人
tjfeng88
系列
iOS音视频开源框架WebRTC入门-编译(前序-授人鱼不如授人以渔)
iOS音视频开源框架WebRTC入门-编译(后序-带WebRTC源码)
iOS音视频开源框架WebRTC入门-AppRTCMobile(WebRTC官网demo)
iOS音视频开源框架WebRTC入门-简单应用
iOS音视频开源框架WebRTC入门-本地/远端图像等比缩放
iOS音视频开源框架WebRTC入门-外网通信
鸣谢
首先感谢大神涂耀辉写的这篇文章:
iOS下音视频通信-基于WebRTC
文章讲解了WebRTC中相关概念以及实现原理,我这里简单使用最新的WebRTC接口重写哈大神的项目
相关代码👉:BKWebRTC
1. 引入项目
WebRTC编译以后生成的库:

关于WebRTC编译的流程可以参考我的这篇文章👇:iOS音视频框架WebRTC入门-编译
1.1. 首先将WebRTC库引入iOS项目

但是...项目报错了,看看报的啥错误:

从信息来看是链接报错,看来看去还是一脸懵逼...
其实是 Bitcode 导致的经典错误
将 Enable Bitcode 设置为 No 就好使了

现在可以使用WebRTC库进行编译了:

此时,WebRTC需要依赖系统库:

再次连接真机进行编译,不会报错了:

编译通过,真机运行:

这又是一个很经典的报错:

这样就可以解决上述报错了
但是在调用WebRTC接口的过程中崩溃:

显然这是权限描述导致的:

运行成功:
真机:

Mac Chrome浏览器:

2. 细节
需要先开启服务器端:

node server.js
然后手机端和浏览器端随意进退聊天室:
浏览器端进入聊天室:
localhost:3000#100
3. 关于demo
demo中使用的都是WebRTC最新接口,整个demo搭建的思路,在这里再次感谢大神涂耀辉的分享
参考链接:
iOS下音视频通信-基于WebRTC