新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论高级C/C++编程、代码重构(Refactoring)、极限编程(XP)、泛型编程等话题
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 C/C++编程思想 』 → C++音频解码编程技巧讨论 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 18473 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: C++音频解码编程技巧讨论 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     发生地 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:52
      门派:XML.ORG.CN
      注册:2009/9/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给发生地发送一个短消息 把发生地加入好友 查看发生地的个人资料 搜索发生地在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看发生地的博客楼主
    发贴心情 C++音频解码编程技巧讨论

    C++在大规模、高性能计算,游戏开发、嵌入式应用开发,以及传统的客户端软件和构件开发中是十分强大的。如今智能手机市场发展,一日千里,手机机能的提高,智能手机普及率的扩大,3g时代的来临,手机已经成为微型移动计算机了,各大移动厂商已经把手机系统平台之争看做手机的未来之争,占有移动平台的优势,谁就占有了未来,在智能手机平台,各种中高级的应用会层出不穷,C++的地位会更加巩固,作用会大大的发展。

    目前中国三大运营商为了抢占3G平台的先机,现在都加强与终端厂商和软件厂商的深度合作,建设自己的手机系统平台。

    Google公司08年推出Android手机操作系统,基于Linux2.6开放平台设计,并不断丰富完善。Android平台的图形渲染能力比其它几家强,同时还内置了Google 的Gmail,Gtalk等原有业务,能看出在国外市场,用惯Google的用户,会感到设计很贴心。

    随后,中国移动推出了Ophone OS开放智能操作系统平台,也是基于Linux 2.6,兼容Android的所有应用,这样首先保证了一定数量的应用软件可提供用户。同时,还内置了中国移动的全部增值服务,为用户提供更丰富的应用体验。这里还包括MMarket(网上软件下载商店),专门向中国移动将近5亿的手机用户销售个人软件作者的各类手机应用软件,7:3分成,个人作者可以拿7成。这可以说是我们工程师的福音,多了条子创业之路。中国移动还有众多的商业客户,行业OA办公软件系统的市场也不可小靚啊。所以,Ophone未来给大家带来的发展机会,值得关注。

    Android和Ophone OS的开发语言C/C++,Java,这个正是他,他们架构的绝妙之处,众所周知,C/C++是老牌语言在中低层的应用开发中游不可替代的地位,但开发效率的问题一直是他天生的缺点,Java可以说天生就是来弥补C++的不足的,在高层的业务开发中java是很强的力量,PC机的很多领域只能用C/C++来开发,这对于目前手机操作系统硬件低等原因来说,C/C++必定是不二的选择,而Java来讲,和硬件关系不密切,不过安全性很高,怎么样才能把这两种语言有机的结合在一起呢

    JNI在平台应用情况和好处
    我们首先介绍一下java的性能问题,Java程序其本身的缺陷,那就是其效率问题。由于Java是一种介于解释型和编译型之间的语言,其对内存的管理是通过JVM虚拟机来实现的,同样的程序,如果用编译型语言C来实现,其运行速度一般要比Java快得多,这就迫使开发者寻求一种java和C/C++相结合的模式来弥补彼此的不足,于是JNI(Java Native Interface,Java本地化方法)技术运用而生, 目前JNI技术在很多平台上如wince/mobile,linux,symbian都有了很大的应用,不过在这些平台上并没有发挥JNI技术的绝对优势,为了让JNI技术能够发挥出自身的绝对力量,于是Ophone OS系统制定出来完美的解决方案

    下面我就通过在Ophone平台上的多媒体实例来讲一下C/C++与java是怎么结合工作的

    Ophone OS的OpenCore模块概述
    OpenCore的另外一个常用的称呼是PacketVideo,它是Ophone OS的多媒体核心。OpenCore是这套多媒体框架的软件层的名称。在Ophone OS的开发者中间,二者的含义基本相同。对比Android的其它程序库,OpenCore的代码非常庞大,它是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。

    多媒体框架在Ophone OS系统中的位置(红包标记)

    按此在新窗口浏览图片
    从框架图可以看出多媒体处理Libraries层,这说明Ophone OS的媒体层是通过os方式供上层使用,实际上一般都是用c/c++来实现,然后层过上层语言,比如Java的JNI方式去调用
    媒体的编解码库使用了OpenMAX 1L interface接口进行展,这使得和具体的硬件不相关,为厂家的移植带来了方便
    OpenCore本身集成了目前流行的媒体格式,如本地文件3GP,MPEG-4等等,在线播放的http,rtsp/rtp流媒体协议

    配套的Ophone OS源码OpenCore模块源码下载
    Ophone OS开源项目是用Git进行版本控制的,大家可以到http://code.google.com/p/msysgit/downloads/list 上下载Git-1.6.4-preview20090730.exe,然后安装,安装完运行开始菜单->Git->Git Bash,会出现一个dos窗口,输入git clone git://android.git.kernel.org/platform/external/opencore.git回车,下载完成后的源码在C:\Documents and Settings\Administrator\opencore目录,当然大家也可以自己创建一个空目录,运行Git,在Git提供的shell,切换路径到你刚才创建的目录下(cd命令)

    按此在新窗口浏览图片
    下面我们对PVPlayer进行简单的说明

    下面是通过JNI方式调用
    MediaPlayer mp;
    mp = MediaPlayer.create(this,xxx.mp3);
    mp.prepare();
    mp.start();
    以上的简单的一个播放mp3格式的程序,他的巧妙之处在于,Ophone是基于Linux平台的开源手机操作系统,提供了软件开发,所以Ophone手机的内部核心依然是linux, 不过Ophone提供了比Linux更为安全的开发模式,Linux支持c++上层开发,这样就会使得一些不良开发者,借助这一有利优势,开发一些恶性操作,不过Ophone系统屏蔽这一缺陷,有过C/C++开发底层,java通过JNI的方式来调用,这样即不失C/C++的高效率,又同时增加了系统的安全性,使得jni技术实现跨平台开发同时兼顾效率的有效方法


    学习网站
    Android可以去这里看看[url]http://www.android.com[/url]。开发经验交流内容已经很丰富了。

    对Ophone有兴趣的读者,可以登录[url]http://www.ophonesdn.com[/url] 网站,一个提供开发指导不错的网站,是中国移动在OphoneOS上的官方网站,而且正在举行发帖赢活动。现在是3G疯行的时刻,平台手机开发人员紧缺,这个时机大家有一定要把握啊。我不想独享,特地和大家分享一下啊。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/9 16:40:00
     
     不爱上班 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:69
      门派:XML.ORG.CN
      注册:2009/9/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给不爱上班发送一个短消息 把不爱上班加入好友 查看不爱上班的个人资料 搜索不爱上班在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看不爱上班的博客2
    发贴心情 
    擦,没看懂。----
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/11 10:26:00
     
     caicmt 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:62
      门派:XML.ORG.CN
      注册:2009/9/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给caicmt发送一个短消息 把caicmt加入好友 查看caicmt的个人资料 搜索caicmt在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看caicmt的博客3
    发贴心情 一直觉得Java效率低,到ophone上,还挺不错的
    一直觉得Java效率低,到ophone上,还挺不错的
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/14 11:09:00
     
     我的爱 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:62
      门派:XML.ORG.CN
      注册:2009/9/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给我的爱发送一个短消息 把我的爱加入好友 查看我的爱的个人资料 搜索我的爱在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看我的爱的博客4
    发贴心情 
    Java和ophone结合,效果还挺不错的。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/14 18:50:00
     
     庭院深深 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:54
      门派:XML.ORG.CN
      注册:2009/9/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给庭院深深发送一个短消息 把庭院深深加入好友 查看庭院深深的个人资料 搜索庭院深深在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看庭院深深的博客5
    发贴心情 
    简单的了解了一下ophone,ophonesdn网站上面介绍得这么细,应有尽有,无论是入门文章,还是深入研究都有很丰富的帖子,
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/17 15:36:00
     
     沉默的熊 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:54
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给沉默的熊发送一个短消息 把沉默的熊加入好友 查看沉默的熊的个人资料 搜索沉默的熊在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看沉默的熊的博客6
    发贴心情 C++音频解码编程技巧讨论[原创]
    Ophone Os的图形引擎根据自己的需要, 实现各种图形图像的特效处理的并形成native(c++)组件,让java层通过JNI调用。丰富自己软件的功能并实现高效率运算。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/20 11:26:00
     
     卡卡妮 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:59
      门派:XML.ORG.CN
      注册:2009/9/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卡卡妮发送一个短消息 把卡卡妮加入好友 查看卡卡妮的个人资料 搜索卡卡妮在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看卡卡妮的博客7
    发贴心情 
    Ophone Os的图形引擎根据自己的需要, 实现各种图形图像的特效处理的并形成native(c++)组件,让java层通过JNI调用。丰富自己软件的功能并实现高效率运算。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/24 17:04:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客8
    发贴心情 
    最近Android 发布了 Native Development Kit (NDK) 可以在平台上 用C++来开发了。 Ophone OS据说很快也要支持NDK,对C++程序员是大福音了。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/26 15:00:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客9
    发贴心情 
    现在越来越多的PC厂商开始打移动市场。跟中移动合作的DELL就是个例子。移动这块市场还真招人稀罕。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/30 11:07:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客10
    发贴心情 
    Ophone OS 是相当不错的平台。其SDK 提供的java API已经非常强了,相对于一般手机Kjava 和 其他手机提供的 java sdk的总和了,而且还有C++写JNI来补充功能.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/6 17:10:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 C/C++编程思想 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/3 9:39:47

    本主题贴数17,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    5,296.875ms