上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 53 下一页

2011年10月31日

摘要: 七 RTP打包与发送rtp传送开始于函数:MediaSink::startPlaying()。想想也有道理,应是sink跟source要数据,所以从sink上调用startplaying(嘿嘿,相当于directshow的拉模式)。看一下这个函数:Boolean MediaSink::startPlaying(MediaSource& source, afterPlayingFunc* afterFunc, void* afterClientData) { //参数afterFunc是在播放结束时才被调用。 // Make sure we're not already bein 阅读全文
posted @ 2011-10-31 15:44 android开发实例 阅读(1823) 评论(0) 推荐(1) 编辑

2011年10月30日

摘要: 接上篇,看看HelloWorld的启动过程。展开项目视图:展开/inc,/src目录,我们看到对应的.h,.cpp文件,还有个很特别的HelloWorldEntry.cpp,我们可以猜到这个就是HelloeWorld程序的入口了,进去瞧瞧:果然有个int OspMain(int argc, char *pArgv[])的方法,找到这句:r = Osp::App::Application::Execute(HelloWorld::CreateInstance, pArgs);Excute前一个参数传的是ApplicationInstanceFactory对象,由HelloWorld类产生。我们再 阅读全文
posted @ 2011-10-30 15:14 android开发实例 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 开发环境的搭建就不介绍了,目前bada只能在window下开发。打开IDE,选择新建一个bada C++ Application Project,写入项目名HelloWorld就建了第一个项目。项目结构图: 现在介绍一个各个文件夹:Includes是一个虚拟的文件夹,是bada运行的库。/inc,/src文件夹存放项目的C++源码 .h文件放在/inc文件夹,.cpp放在/src文件夹。/Home文件夹这个程序的文件系统(类似linux的home目录),比如文件的创建,读写等。/Icons文件夹存放项目使用到的图标,比如一些默认的程序启动图标,我们可以创建自己的图标去替换。/Res文件夹存放. 阅读全文
posted @ 2011-10-30 14:11 android开发实例 阅读(233) 评论(0) 推荐(0) 编辑

2011年10月28日

摘要: android手机中的震动由Vibrator实现。设置震动事件,需要知道其震动的时间长短、震动的周期等。在android中,震动的时间一毫秒计算(1/1000秒),所以如果设置的时间值太小,会感觉不出来。通过调用Vibrator的vibrate(long[] pattern, int repeat)方法实现。前一个参数为设置震动的效果的数组,第二个参数为 -1表示只震动一次,为0则震动会一直持续。一个demo:package com.shao.vibrator; import android.app.Activity; import android.os.Bundle; import and. 阅读全文
posted @ 2011-10-28 23:27 android开发实例 阅读(565) 评论(0) 推荐(0) 编辑
摘要: Mongodb操作里许多人喜欢采用PHP的循环操作,这种方式效率非常低下,可以优化。1、 查询: 有两种方式,在PHP里循环查询和使用$in的方式。做一个查询1000条数据的示例如下:// 循环查询 for($i = 0; $i < count($array); $i++) { $item = $collection -> findOne(array("_id" => new MongoId($array[$i]))); echo $item["profile"]["name"] . "<br /&g 阅读全文
posted @ 2011-10-28 23:15 android开发实例 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 书中的一些关键思想:1、构建资产1) 不需到场就可以正常运作的业务2) 股票3) 债券4) 基金5) 能产生收入的房产2、先构筑资产项,才用资产所产生的收入购买奢侈品3、会计、法律和商业知识非常重要4、通过公司的方式1)合理避税(买车、餐饮费)2)财产保护:用公司和信托来隐藏财富5、喜欢变化而不是害怕变化、喜欢挣百万美元而不是担心升职6、学习如何投资很重要7、坚持自己而不是随大众 现在许多人只是按部就班,上完学之后打一份工,度过10年、20年的时光,但是年薪20万、30万就能改变一生平平淡淡、成为房奴、车奴的境况,就能过上财务自由、舒适安全的生活吗?其实《富爸爸穷爸爸》是一个改变理财思路... 阅读全文
posted @ 2011-10-28 23:04 android开发实例 阅读(196) 评论(0) 推荐(0) 编辑
摘要: java访问C/C++有6步1.写java文件2.编译java生成class3.生成C/C++头文件。4.写C/C++文件5.编译生成dll(Window下)或so文件6.运行java程序下面介绍ubutun下一个JNI例子1.编写Sample1.java文件: public class Sample1 { public native int intMethod(int n); public native boolean booleanMethod(boolean bool); public native String stringMethod(String text); publ... 阅读全文
posted @ 2011-10-28 19:29 android开发实例 阅读(2457) 评论(0) 推荐(0) 编辑
摘要: 六 建立RTP会话首先更正一个概念:ServerMediaSession原先说代表一个流,其实是不准确的。它代表的是server端的一个媒体的名字,而说ServerMediaSubsession代表一个Track是准确的。以后流指的是那些有数据流动的组合。RTP的建立:RTP的建立过程无非是这样:client告诉server自己的rtp/rtcp端口号,server建立自己的rtp/rtcp socket,然后在收到PLAY请求时向客户端发数据。看起来非常简单。在收到SETUP请求时才建立连接,让我们看一下处理这个命令的函数:void RTSPServer::RTSPClientSession 阅读全文
posted @ 2011-10-28 15:19 android开发实例 阅读(1313) 评论(0) 推荐(0) 编辑

2011年10月27日

摘要: 五 RTSP服务运作基础基本搞明白了,那么RTSP,RTP等这些协议又是如何利用这些基础机制运作的呢?首先来看RTSP.RTSP首先需建立TCP侦听socket。可见于此函数:DynamicRTSPServer* DynamicRTSPServer::createNew(UsageEnvironment& env, Port ourPort, UserAuthenticationDatabase* authDatabase, unsigned reclamationTestSeconds) { int ourSocket = setUpOurSocket(env, ourPort); 阅读全文
posted @ 2011-10-27 16:21 android开发实例 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: 四 计划任务(TaskScheduler)深入探讨我们且把三种任务命名为:socket handler,event handler,delay task。这三种任务的特点是,前两个加入执行队列后会一直存在,而delay task在执行完一次后会立即弃掉。socket handler保存在队列BasicTaskScheduler0::HandlerSet* fHandlers中;event handler保存在数组BasicTaskScheduler0::TaskFunc * fTriggeredEventHandlers[MAX_NUM_EVENT_TRIGGERS]中;delay task保 阅读全文
posted @ 2011-10-27 14:26 android开发实例 阅读(490) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 53 下一页

导航