热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[置顶]csipsimple源项目的下载配置

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之间数据的传递等等。



推荐阅读
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 在测试软件或进行系统维护时,有时会遇到电脑蓝屏的情况,即便使用了沙盒环境也无法完全避免。本文将详细介绍常见的蓝屏错误代码及其解决方案,帮助用户快速定位并解决问题。 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文介绍了实时流协议(RTSP)的基本概念、组成部分及其与RTCP的交互过程,详细解析了客户端请求格式、服务器响应格式、常用方法分类及协议流程,并提供了SDP格式的深入解析。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • Spring Security基础配置详解
    本文详细介绍了Spring Security的基础配置方法,包括如何搭建Maven多模块工程以及具体的安全配置步骤,帮助开发者更好地理解和应用这一强大的安全框架。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
让安丷全筑起心灵的屏障
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有