上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页
摘要: 用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没有看到相关的部分。而在私有RTSP的代码中,有关控制、同步等,是在RTP Header中做扩展定义实现的。另外,RFC3550可以看作是RFC1889的升级文档,只看RFC3550即可。RTP:实时传输协议(Real-time Transport Protocol)RTP/RTCP是实际传输数据的协议RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD, 阅读全文
posted @ 2010-12-04 19:30 张兴业 阅读(292) 评论(0) 推荐(0) 编辑
摘要: H.264 和 MPEG-4 的第十部分,也叫做高级视频编码(AVC),是由 ITU 和 ISO 联合开发的。H.264/MPEG-4 支持视频压缩编码方式,或用于视频会议和视频电话。H.264 视频多媒体数字信号编解码器拥有广泛的应用,其范围包括各种数字压缩视频,它们来自于 HDTV 广播的国际互联网数据流传输应用程序,其比特率较低,或来自于近似无损失编码的数码电影应用程序。H.264/MPEG-4 可用来进行简便、直接的视频编码,其压缩性能更为强大,并能提供友好的网络视频显示。MPEG-2 标准被广泛地用于视频数据的储存和传输,与之相比,H.264/MPEG-4 在速率 - 失真效率上取得 阅读全文
posted @ 2010-12-03 17:47 张兴业 阅读(338) 评论(0) 推荐(0) 编辑
摘要: RTP 控制协议(RTCP)采用与数据包相同的分发机制,将控制包周期性传输到所有会话参与者中。底层协议必须提供数据和控制包的多路发送,例如使用不同的 UDP 端口号。RTCP 主要完成四个功能服务:RTCP 提供数据分发质量反馈信息。这是 RTP 作为传输协议的部分功能并且它涉及到了其它传输协议的流控制和拥塞控制。RTCP 为 RTP 源携带一个持久性传输层标识符,称为规范名或 CNAME。由于一旦发现冲突或程序重启时,SSRC 标识符会随之改变,所以接收方需要 CNAME 来跟踪每一个参与者。同时接收方还要求 CNAME 能够与一组相关 RTP 会话中来自于给定参与者的多重数据流相关联,例如 阅读全文
posted @ 2010-12-03 17:46 张兴业 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是 RTP 可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么 RTP 可以使用该组播表传输数据到多个目的地。RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。 RTP 实行有序传送, RTP 中的序列号允许接收方重组发送方的包序列,同时序列 阅读全文
posted @ 2010-12-03 17:45 张兴业 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 1、引入随着通信IP化的发展,IP传输的高带宽、低成本等优势使得越来越多的企业、电信运营商加快建设基于IP的各种通信应用。在通信协议IP化发展中,SIP协议毫无争议地成为各大电信运营商构建其未来网络的基础协议,越来越多的SIP软件产品也不断出现在行业应用中。SIP协议的标准化,同时也造就了一大批优秀的开源软件产品,包括Asterisk、SipXecs、FreeSWITCH、OpenSIPS等SIP服务端软件,也包括X-lite、LinPhone、eyeBeam等SIP客户端软件。本文介绍了国外成熟的SIPServer开源项目OpenSIPS,并结合其它通信方面的开源项目对其应用情况进行了一些介 阅读全文
posted @ 2010-12-03 17:35 张兴业 阅读(975) 评论(0) 推荐(0) 编辑
摘要: RTSP是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP 本身并不发送连续媒体流。换言之,RTSP 充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP 用于控制多个数据发送会话,提供了选择发送通道(如 UDP、组播 UDP 与 TCP 等)的方式,并提供了选择基于 RTP 的发送机制的方法。目前还没有 RTSP 连接 阅读全文
posted @ 2010-12-03 14:52 张兴业 阅读(261) 评论(0) 推荐(0) 编辑
摘要: sip是一个用来会话的信令控制协议,是独立于传输层,主要是实现如何管理会话的一个协议。1 sip的格式。在sip的定制之初。就打算学email那样(email是chat的通用协议)。成为通用跨平台的语音和视频的一种协议,而目前更多应用于网络电话。不过sip也面临一些对手如skype私有协议,还有原来老牌协议h323 MCGP等等。与QQ skype yahoo MSN等等不同,sip开始就定位于跨平台互通(当然现在yahoo和MSN互通了),与这些老牌的im竞争(就相当于群狼VS猛虎)。sip的格式为 abcdef@XXXX.lxvoip.net理论上,两个sip之间,不管他们是不是同一个pr 阅读全文
posted @ 2010-12-03 14:30 张兴业 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 前言最经在看Android方法的基础知识,看到一篇文章(http://www.rbgrn.net/content/348-get-your-eclipse-integrated-ndk-on)介绍如何把Android的NDK集成到Eclipse,顺便就把它翻译过来。注:技术名称保留不译,比如CygwinEclipse(英文版)的界面文本不译,比如按钮(Specify Resources)。括号内的内容,是我添加的注释。翻译正文:在Android的游戏开发中,你迟早会发现有必要把部分代码跑得更快。用C写的Android代码比同样的Java版本,快上10~100倍。我可以证实这个事实,在我最新的3 阅读全文
posted @ 2010-12-02 16:06 张兴业 阅读(222) 评论(0) 推荐(0) 编辑
摘要: H264解码器源码,移植ffmpeg中的H264解码部分到Android,深度删减优化,在模拟器(320x480)中验证通过。程序的采用jni架构。界面部分,文件读取,视频显示都是用java做的,底层的视频解码用C来做满足速度的要求。在这个版本中,从H264码流中分割出Nal是在java层做的,这样在java层直接调用解码时就知道是否有显示视频,缺点的就是耦合度/封装性差一点。如果采用在底层做Nal分割的方法,可以封装得好看一些,但是每次送的数据有限制,如果送的数据太多,底层可能会一次解码出好几帧视频,但是通知到界面层只能显示一帧,造成丢帧的现象。 如果每次送的数据较少,就会有很多次底层调用没 阅读全文
posted @ 2010-12-01 15:33 张兴业 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 在本教程中,将详细介绍OPhone中引入的NinePatch图片格式,以及如何使用NinePatch图片来创建和OPhone系统风格统一的应用程序。在下面的教程中使用OPhone系统中的控件Button来作为演示。OPhone系统背景图片 首先来看看OPhone系统Button的背景样式。 创建一个示例项目,添加几个Button, layout代码如下:view plaincopy to clipboardprint? (为了节约篇幅,下面的布局代码只提供Button代码,其他代码省略。) 程序截图如下:图一:OPhone系统默认按钮背景,第二个按钮是取得焦点时候的背景 从上图可以看到不管按钮 阅读全文
posted @ 2010-11-29 17:22 张兴业 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在本教程中将介绍如何在程序中使用OPhone手机的摄像头来拍照,有些程序是需要使用手机摄像头作为输入设备的,例如二维码识别软件。OPhone Camera 介绍在OPhone手机中通过android.hardware.Camera类来控制摄像头设备,通过Camera类可以与摄像头服务取得(断开)链接、可以设置摄像头的各种属性、开始(结束)图像预览、拍照或则录像。要使用Camera只有通过调用Camera的open() 函数来得到一个Camera对象。另外OPhone系统还提供了一些接口来控制Camera的状态:android.hardware.Camera.AutoFocusCallback: 阅读全文
posted @ 2010-11-29 17:14 张兴业 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 首先我们来看一下什么是UDP和TCP。什么是TCP?TCP:Transmission Control Protocol传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层 阅读全文
posted @ 2010-11-27 23:45 张兴业 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 本文将讨论android应用程序的线程模型以及如何使用线程来处理耗时较长的操作,而不是在主线程中执行,保证用户界面(UI)的流畅运行。本文还将阐述一些用户界面(UI)中与线程交互的API。UI用户界面线程当应用程序启动时,系统会为应用程序创建一个主线程(main)或者叫UI线程,它负责分发事件到不同的组件,包括绘画事件。完成你的应用程序与android UI组件交互。例如,当您触摸屏幕上的一个按钮时,UI线程会把触摸事件分发到组件上,更改状态并加入事件队列,UI线程会分发请求和通知到各个组件,完成相应的动作。单线程模型的性能是非常差的,除非你的应用程序相当的简单,特别是当所有的操作都在主线程中 阅读全文
posted @ 2010-11-27 22:48 张兴业 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 在android应用程序开发中,在使用到数据库的时候,事务处理是非常重要的。 首先android数据库操作(特别是写操作)是非常慢的,将所有操作打包成一个事务能大大提高处理速度。 其次是保证数据的一致性,让一个事务中的所有操作都成功执行,或者失败,或者所有操作回滚。 如果您喜欢使用其他平台(如PHP + MySQL),代码通常在一个功能强大的服务器上运行,一般不会被意外中止,但在android平台上,您将会因为一次又一次的意外中止感到惊呀。android系统会杀死apps/threads/activities等中断数据库的使用,电池电量会耗尽或被移除等。所以,使用数据库事物至关重要... 阅读全文
posted @ 2010-11-27 22:26 张兴业 阅读(208) 评论(0) 推荐(0) 编辑
摘要: ListView的Adapter的作用如下图所示:Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源?先看看下面的代码:public View getView(int position, View convertView, ViewGroup parent) {View item = mInflater.inflate(R.layout.list_item_icon_text, null);((TextView 阅读全文
posted @ 2010-11-27 22:25 张兴业 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。 首先,我们新建一个类HelloApplication继承Android.app.Application类,然后在我们的类中增加一些变量。如下所示:01publicclassHelloApplicationextendsApplication {02privateintglobalVariable=1;0304publicintgetG 阅读全文
posted @ 2010-11-27 22:24 张兴业 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 有几个activity,有一需求是在一个activityA点击back键退出系统而不是跳到之前的activity 首先想到的是清空activityA的堆栈,使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);但是该activityA不是已经存在于堆栈底端的,所以清除的只是堆栈中该activityA上面的activity,但后退后还是会返回堆栈中该activityA下面的activity。 然后想到的是截获back按键的事件,使用System.exit(0)和android.os.Process.killProcess(android.os.Pro 阅读全文
posted @ 2010-11-22 22:51 张兴业 阅读(155) 评论(0) 推荐(0) 编辑
摘要: OPhone系统提供了PhoneStateListener对象做为监听器的抽象,它是用于即时监测:服务状态、信号强度、消息等待指示等各方面有关电话功能状态变化的回调方法机制。想要监测来电呼叫,PhoneStateListener的onCallStateChanged方法是入口点,它把电话呼叫状态分为三种类型:空闲(IDLE)、振铃(RINGING)和摘机(OFFHOOK),其中振铃状态正是来电呼入的标志,因此具体的方法是:重新实现PhoneStateListener对象的onCallStateChanged方法,并关注RINGING状态。请看示例代码:view plaincopy to cli 阅读全文
posted @ 2010-11-02 23:06 张兴业 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1.1 概述OPhone平台基于Linux和开放手机联盟(OHA)的Android系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强了浏览器能力和WAP兼容性,优化了多媒体领域的OpenCORE、浏览器领域的WebKit等业内众多知名引擎,增加了包括游戏、Widget、Java ME等在内的先进平台中间件。本文重点介绍OPhone和Android应用开发的差异,为OPhone和Android开发者提供指导。1.2 兼容性目前,OPhone共发布了1.0和1.5两个平台版本,其中OPhone 1.0与Android 1.0兼容,OPhone 1.5与Android 1.5兼容。 阅读全文
posted @ 2010-11-02 22:17 张兴业 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 如果是从BroadcastReceiver 启动一个新的Activity , 不要忘记i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);public class MyReceiver extends BroadcastReceiver{ public static final String action=”acc”; public void onReceive(Context context, Intent intent) { Intent i=new Intent(context,Receivered.class); i.setFlags(Intent.FL 阅读全文
posted @ 2010-10-26 23:57 张兴业 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 写:FileOutputStream os = null; try { os = VCardTest.this.openFileOutput("Android.vcf", MODE_PRIVATE); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } OutputStreamWriter writer; try { writer = new OutputStreamWriter( os); ... 阅读全文
posted @ 2010-10-24 22:17 张兴业 阅读(445) 评论(0) 推荐(0) 编辑
摘要: http://www.imc.org/pdi/vcard-21.txtvCard 规范容许公开交换个人数据交换 (Personal Data Interchange PDI) 信息,在传统纸质商业名片可找到这些信息。规范定义电子名片(或叫vCard)的格式。vCard 规范可作为各种应用或系统之间的交换格式。定义的格式与传送的方法无关。传送交换可能是文件系统,点对点交换的公共电话网络,以有线网络或无线传送的方式。用户能在互联网上直接利用vCard。电子邮件能转发在vCard中人信息。网页上很多用户填写的表格可自动使用vCard。互联网邮件协会(Internet Mail Consortium) 阅读全文
posted @ 2010-10-24 17:27 张兴业 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: 大家好,上一节我讲解了Android Activity的生命周期,这一节我将讲解一下Service,首先我们要知道Service具体是干什么的,什么时候用到?以及它的生命周期等。Service概念及用途:Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,那 我们什么时候会用到Service呢?比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我 们就听不到歌了,所以这时候就得用到Service了,又比如当我们一个应用 阅读全文
posted @ 2010-10-24 11:29 张兴业 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 简介:本文详细介绍了 Android 应用编程中Activity的状态、 Activity 的生命周期、通信方式和 Intent Filter 等内容,并提供了一些日常开发中经常用到的关于 Activity 的技巧和方法。通过本文,你可以进一步了接 Android 中 Activity 的运作方式。Activity 的生命周期和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理。与 MIDlet 不同的是安装在 android 中的所有的 Activity 都是平等的。Activity 的状态及状态间的转换在 android 中,Activ 阅读全文
posted @ 2010-10-18 11:36 张兴业 阅读(171) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/jinweida/archive/2009/09/27/1574843.html概述手机的短消息实现目前有三种方法: 1.通过移动网关发送短消息,使用该方法不需要附加的硬件,但是需要到电信部门申请网关,比较适用于一些大型的网络通讯公司开发,目前华为,中兴等公司就做的这方面的工作,并且还有相应的开发包供开发人员使用. 2.在电脑上通过GSM MODEM向手机发送中文短消息,这是目前比较适合于小项目开发的一种方法,所需硬件包括一款手机,提供GSM MODEM,以及相应的数据线或是红外线适配器.该方法编码简单,只需对AT指令和串口编程比较熟悉就可以实.. 阅读全文
posted @ 2010-09-27 22:47 张兴业 阅读(1257) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页