WebRTC主要用来让浏览器实时获取和交换视频、音频和数据。浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转,A、B两个客户端之间信令还是要通过服务器传送,但这并不适合数据流的传输,WebRTC应运而生。
WebRTC是一个开源项目,旨在建立一个浏览器与浏览器之间的信道,这个信道开源发送任何数据,而不需要经过服务器,这里说不的不需要服务器并不是真的不需要服务器了,还是需要服务器来传送信令,只是音视频数据不需要服务器进行中转传输了。
WebRTC很大,里面包含太多东西,其中的iLBC音频编解码库很好,我想抽取出来编译成静态库在iOS平台上调用,于是,
1、抽取了ilbc文件夹加入新建的Xcode静态库编译工程;
2、除了ilbc文件夹里的文件,ilbc还依赖common_audio文件夹里的signal_processing文件夹中的文件;
3、试着编译,发现错误,加入缺少的头文件
4、错误还是有,很多方法找不到之类的,我得解决方法找不到的让其找到就行了,然后编译成功。
编译好了后得到静态库libcodecOfiLBC.a然后就是怎么用这个库了,用这个库时需要WebRTC里的头文件ilbc.h及typedefs.h,然后封装个类来调用libcodecOfiLBC.a,建个头文件CIlbcCodec.h: