下载此文档

基于linphone实现视频通话小结.doc


文档分类:通信/电子 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
基于linphone实现视频通话小结
基于linphone实现视频通话的小结
Linphone解析
先看一下linphone的实现结构:
由上图可知,Linphone内部有明显的用户接口和内核引擎区分,这为我们基于它提供的接口进行再次开发提供了可能。其中liblinphone是内核的核心,这个库提供了linphone功能的所有应用。Liblinphone库是一个功能巨大的SIP\VOIP\VIDEO SDK. 我们可以用它提供的功能在我们想要的应用上开发视频通话功能。
Liblinphone库的结构包括: mediastreamer2,用于音视频流处理的多媒体SDK;oRTP,网络协议库;eXosip2,SIP用户代理库。文档查看: http://mirror./nongnu/linphone/docs/liblinphone/
遗留问题:关于操作系统底层的硬件接口结构不清楚,如何为C语言程序提供JAVA接口,ANDROID的NDK原理不清楚。
Linphone代码java层的大致结构是这样的:
主activity为linphoneActivity,它总领着其他的程序块。
linphoneService做linphone在后台需要做的事,因此会有许多***,比如监听来电。 linphoneManager是linphone操作包,它的函数能实现初始化以及各类情况的实现。 linphoneCore封装了C语言通信编码实现,环境变量初始化等功能。
DailerActivity管理打接电话。
用户点击linphone的图标后就开始了linphone软件,这时linphoneActivity开始运行,它使linphoneService开始,并做一些linphone帐号密码的登录操作同时引导用户进行环境变量的设置(LinphonePreferencesActivity)。
环境变量都储存在sharedPreferences中,它是整个工程共享的一个变量池。这些环境变量有音频和视频编码设置选择,帐号密码,服务器设置,自动启动,视频设置,回音校正,网络协议设置。
->linphoneManager开始实例化,设置电话铃音以及配置信息的保存路径,依据工程的环境变量以及配置信息初始化LinphoneCore,设置PlaybackGain,周期性地检测核对Sip数据,设置网络协议和相应的端口,根据CPU速度以及机型计算能为用户提供的编解码方式,计算能否回音校正,传递账户服务器信息到LInphoneCore中,得到网络连接操作对象和连接信息Info并告知LInphoneCore。
public synchronized static final LinphoneManager createAndStart(
Context c, LinphoneServiceListener listener) {
if (instance != null)
throw new RuntimeException("Linphone Manager is already initialized");
instance = new LinphoneManager(c);
= listener;
(c);
return instance;
} //From LinphoneManager
private synchronized void startLibLinphone(final Context context) {
try {
copyAssetsFromPackage(context);
mLc = ().createLinphoneCore(
this, linphoneConfigFile, linphoneInitialConfigFile, null);
((getString(), false)); (basePath+"/zrtp_secrets");
(3);
(null);
(linphoneRootCaFi

基于linphone实现视频通话小结 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198614
  • 文件大小26 KB
  • 时间2017-07-25