Linphone: 适用于很多平台(Windows, Mac OS, Android)的VOIP电话工具, 基于标准SIP协议.
Linphone-android: Android平台上的Linphone.
Linphone-android的工程中,一部分是Java实现的功能框架,另一部分是JNI实现的linphone动态库.
学习过程可以分两步:
(1)熟悉Java层框架;
(2)阅读linphone动态库的C源码.
环境配置可以分三部分:
(1)下载已经编译好的Linphone-android工程,导入Eclispe阅读;
(2)从Linphone官网或者 github上下载未经过编译的源码,在Linux下自己编译成可运行的Android应用;
(3)下载Linphone库的C源码,选择环境(如Source Insight?)并阅读.
源码干货可以分四部分:
(1)Java层框架实现的SIP三层协议架构: 传输层,事务层,语法编解码层
(2)linphone动态库C源码实现的SIP功能: 注册,请求,请求超时,邀请会话,挂断电话,邀请视频,收发短信...
(3)linphone动态库C源码实现的音视频编解码功能
(4)Android平台上的音视频捕获,播放功能
时间: 2024-10-10 20:33:14