在线中文-在线在线ccc66-在线永久免费观看的毛片-在线永久免费观看的a站视频-久久精品最新免费国产成人-久久精品综合一区二区三区

以文本方式查看主題

-  曙海教育集團論壇  (http://www.bgl88.cn/bbs/index.asp)
--  C++語言開發  (http://www.bgl88.cn/bbs/list.asp?boardid=63)
----  C++音頻解碼編程技巧討論  (http://www.bgl88.cn/bbs/dispbbs.asp?boardid=63&id=2416)

--  作者:wangxinxin
--  發布時間:2010-12-10 13:10:34
--  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技術實現跨平臺開發同時兼顧效率的有效方法

主站蜘蛛池模板: 亚洲欧洲高清有无 | 亚洲欧美综合一区 | 伊人精品视频在线观看 | 久久国产一区二区三区 | 永久国产| 亚洲精品99久久久久中文字幕 | 亚洲理论电影在线观看 | 亚洲免费二区 | 色四月婷婷 | 欧美日韩国产在线播放 | 日本a级精品一区二区三区 欧洲精品在线观看 | 精品国内在线视频2019百度 | 六月婷婷网视频在线观看 | 日韩精品免费看 | 狠狠亚洲婷婷综合色香 | 四虎www成人影院免费观看 | 制服丝袜 自拍偷拍 | 亚洲国产成人久久综合一区77 | 亚洲综合中文网 | 欧美成人性色生活片免费在线观看 | 亚洲精品乱码久久久久久 | 交免费观看在线 | 在线免费看黄视频 | 亚洲专区欧美专区 | 很很在线视频观看 | 在线观看免费网址大全 | 欧美日本在线播放 | 四虎地址8848 | 婷婷综合激情五月中文字幕 | 亚洲成人一区二区 | 伊人久久青草青青综合 | 伊人久久大香 | 最近中文版字幕在线观看 | 国产一二三四区在线观看 | 久久久久国产精品 | 欧美日韩亚洲国产一区二区三区 | 亚洲成人精品久久 | 成人精品一区二区久久 | 久久久精品日本一区二区三区 | 五月天欧美激情午夜情 | 激情六月天婷婷 |