作者:让安丷全筑起心灵的屏障 | 来源:互联网 | 2023-09-24 13:46
1、进入官网www.csipsimple.com,选择source选项卡,可以看到下面的提示:#Non-membersmaycheckoutaread-onlyworkingcopy
1、进入官网www.csipsimple.com,选择source选项卡,可以看到下面的提示:
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://csipsimple.googlecode.com/svn/trunk/CSipSimple/ csipsimple-read-only
2、通过上面的命令下载到源码目录,
CSipSimple-trunk,这个下面有六个子目录
/home/jindegege/CSipSimple-trunk/ActionBarSherlock
/home/jindegege/CSipSimple-trunk/CSipSimple
/home/jindegege/CSipSimple-trunk/CSipSimpleBranded
/home/jindegege/CSipSimple-trunk/CSipSimpleCodecG729
/home/jindegege/CSipSimple-trunk/CSipSimpleCodecPack
/home/jindegege/CSipSimple-trunk/CSipSimpleVideoPlugin
3、将第一个和第二个导入到eclipse
配置时ActionBarSherlock作为单独的lib,勾选
在主程序中加入ActionBarSherlock的引用
4、介绍下里面主要的几个类
com.csipsimple.ui SipHome.java主界面,用TabHost管理打电话、通话记录和信息界面,菜单有账号、设置、帮助和断开。
com.csipsimple.utils PreferencesWrapper.java配置信息管理,配置的默认值,获取和设置,恢复默认设置resetAllDefaultValues()(line 420)
com.csipsimple.api SipConfigManager.java包含很多公有的静态字符串常量,分别为:媒体、用户界面、网络、安全等配置信息保存在文件中的key值
com.csipsimple.utils Compatibility.java编解码器默认优先级
目前编码器采用的是SILK/8000
resetCodecsSettings(PreferencesWrapperpreferencesWrapper)(line331)重置编解码器设置
com.csipsimple.widgets.Dialpad拨号键盘R.layout.dialpad
通话中涉及的类:所在包com.csipsimple.ui.incall
InCallActivity主要界面R.layout.in_call_main
InCallControlsextends FrameLayout R.menu.in_call_controls_menu扬声器、静音、蓝牙、新增通话、媒体
InCallCardextends FrameLayout R.layout.in_call_card挂电话、呼叫保持、录音、通话时间、对方号码、对方sip地址
拨号的类:com.csipsimple.ui.dialpad.DialerFragment
从源码中我们可以看到项目还是比较大的,设计到许多协议、设计模式、跨进程的调用、NDK的开发、自定义组件、actionbar、fragment之间数据的传递等等。