<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團論壇 http://www.bjzhda.cn

    曙海教育集團論壇
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
    [瀏覽完整版]

    標題:C++音頻解碼編程技巧討論

    1樓
    wangxinxin 發(fā)表于:2010-12-10 13:10:34
    C++在大規(guī)模、高性能計算,游戲開發(fā)、嵌入式應用開發(fā),以及傳統(tǒng)的客戶端軟件和構(gòu)件開發(fā)中是十分強大的。如今智能手機市場發(fā)展,一日千里,手機機能的提高,智能手機普及率的擴大,3g時代的來臨,手機已經(jīng)成為微型移動計算機了,各大移動廠商已經(jīng)把手機系統(tǒng)平臺之爭看做手機的未來之爭,占有移動平臺的優(yōu)勢,誰就占有了未來,在智能手機平臺,各種中高級的應用會層出不窮,C++的地位會更加鞏固,作用會大大的發(fā)展。

    目前中國三大運營商為了搶占3G平臺的先機,現(xiàn)在都加強與終端廠商和軟件廠商的深度合作,建設(shè)自己的手機系統(tǒng)平臺。

    Google公司08年推出Android手機操作系統(tǒng),基于Linux2.6開放平臺設(shè)計,并不斷豐富完善。Android平臺的圖形渲染能力比其它幾家強,同時還內(nèi)置了Google 的Gmail,Gtalk等原有業(yè)務(wù),能看出在國外市場,用慣Google的用戶,會感到設(shè)計很貼心。

    隨后,中國移動推出了Ophone OS開放智能操作系統(tǒng)平臺,也是基于Linux 2.6,兼容Android的所有應用,這樣首先保證了一定數(shù)量的應用軟件可提供用戶。同時,還內(nèi)置了中國移動的全部增值服務(wù),為用戶提供更豐富的應用體驗。這里還包括MMarket(網(wǎng)上軟件下載商店),專門向中國移動將近5億的手機用戶銷售個人軟件作者的各類手機應用軟件,7:3分成,個人作者可以拿7成。這可以說是我們工程師的福音,多了條子創(chuàng)業(yè)之路。中國移動還有眾多的商業(yè)客戶,行業(yè)OA辦公軟件系統(tǒng)的市場也不可小靚啊。所以,Ophone未來給大家?guī)淼陌l(fā)展機會,值得關(guān)注。

    Android和Ophone OS的開發(fā)語言C/C++,Java,這個正是他,他們架構(gòu)的絕妙之處,眾所周知,C/C++是老牌語言在中低層的應用開發(fā)中游不可替代的地位,但開發(fā)效率的問題一直是他天生的缺點,Java可以說天生就是來彌補C++的不足的,在高層的業(yè)務(wù)開發(fā)中java是很強的力量,PC機的很多領(lǐng)域只能用C/C++來開發(fā),這對于目前手機操作系統(tǒng)硬件低等原因來說,C/C++必定是不二的選擇,而Java來講,和硬件關(guān)系不密切,不過安全性很高,怎么樣才能把這兩種語言有機的結(jié)合在一起呢

    JNI在平臺應用情況和好處
    我們首先介紹一下java的性能問題,Java程序其本身的缺陷,那就是其效率問題。由于Java是一種介于解釋型和編譯型之間的語言,其對內(nèi)存的管理是通過JVM虛擬機來實現(xiàn)的,同樣的程序,如果用編譯型語言C來實現(xiàn),其運行速度一般要比Java快得多,這就迫使開發(fā)者尋求一種java和C/C++相結(jié)合的模式來彌補彼此的不足,于是JNI(Java Native Interface,Java本地化方法)技術(shù)運用而生, 目前JNI技術(shù)在很多平臺上如wince/mobile,linux,symbian都有了很大的應用,不過在這些平臺上并沒有發(fā)揮JNI技術(shù)的絕對優(yōu)勢,為了讓JNI技術(shù)能夠發(fā)揮出自身的絕對力量,于是Ophone OS系統(tǒng)制定出來完美的解決方案

    下面我就通過在Ophone平臺上的多媒體實例來講一下C/C++與java是怎么結(jié)合工作的

    Ophone OS的OpenCore模塊概述
    OpenCore的另外一個常用的稱呼是PacketVideo,它是Ophone OS的多媒體核心。OpenCore是這套多媒體框架的軟件層的名稱。在Ophone OS的開發(fā)者中間,二者的含義基本相同。對比Android的其它程序庫,OpenCore的代碼非常龐大,它是一個基于C++的實現(xiàn),定義了全功能的操作系統(tǒng)移植層,各種基本的功能均被封裝成類的形式,各層次之間的接口多使用繼承等方式。

    多媒體框架在Ophone OS系統(tǒng)中的位置(紅包標記)

    圖片點擊可在新窗口打開查看
    從框架圖可以看出多媒體處理Libraries層,這說明Ophone OS的媒體層是通過os方式供上層使用,實際上一般都是用c/c++來實現(xiàn),然后層過上層語言,比如Java的JNI方式去調(diào)用
    媒體的編解碼庫使用了OpenMAX 1L interface接口進行展,這使得和具體的硬件不相關(guān),為廠家的移植帶來了方便
    OpenCore本身集成了目前流行的媒體格式,如本地文件3GP,MPEG-4等等,在線播放的http,rtsp/rtp流媒體協(xié)議

    配套的Ophone OS源碼OpenCore模塊源碼下載
    Ophone OS開源項目是用Git進行版本控制的,大家可以到http://code.google.com/p/msysgit/downloads/list 上下載Git-1.6.4-preview20090730.exe,然后安裝,安裝完運行開始菜單->Git->Git Bash,會出現(xiàn)一個dos窗口,輸入git clone git://android.git.kernel.org/platform/external/opencore.git回車,下載完成后的源碼在C:\Documents and Settings\Administrator\opencore目錄,當然大家也可以自己創(chuàng)建一個空目錄,運行Git,在Git提供的shell,切換路徑到你剛才創(chuàng)建的目錄下(cd命令)

    圖片點擊可在新窗口打開查看
    下面我們對PVPlayer進行簡單的說明

    下面是通過JNI方式調(diào)用
    MediaPlayer mp;
    mp = MediaPlayer.create(this,xxx.mp3);
    mp.prepare();
    mp.start();
    以上的簡單的一個播放mp3格式的程序,他的巧妙之處在于,Ophone是基于Linux平臺的開源手機操作系統(tǒng),提供了軟件開發(fā),所以O(shè)phone手機的內(nèi)部核心依然是linux, 不過Ophone提供了比Linux更為安全的開發(fā)模式,Linux支持c++上層開發(fā),這樣就會使得一些不良開發(fā)者,借助這一有利優(yōu)勢,開發(fā)一些惡性操作,不過Ophone系統(tǒng)屏蔽這一缺陷,有過C/C++開發(fā)底層,java通過JNI的方式來調(diào)用,這樣即不失C/C++的高效率,又同時增加了系統(tǒng)的安全性,使得jni技術(shù)實現(xiàn)跨平臺開發(fā)同時兼顧效率的有效方法
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

    Copyright © 2000 - 2009 曙海教育集團
    Powered By 曙海教育集團 Version 2.2
    Processed in .01758 s, 2 queries.
    主站蜘蛛池模板: 伊人久久综在合线亚洲91| 国产精品无码aⅴ嫩草| 亚洲va韩国va欧美va| 狠狠色婷婷久久一区二区三区| 国产成人综合欧美精品久久| xxxxwww日本在线| 无码一区二区三区在线| 亚洲影视一区二区| 狠狠色狠狠色合久久伊人| 国产亚洲视频在线| 182tv成人午夜在线观看| 夜夜未满18勿进的爽影院| 久久中文字幕网站篠田优| 日韩色在线观看| 亚洲精品乱码久久久久久下载| 精品久久久无码人妻字幂| 国产妇女馒头高清泬20P多毛| 97超级碰碰碰碰久久久久| 女人扒开腿让男生猛桶动漫| 久久国产加勒比精品无码| 最近在线观看视频2019| 亚洲精品欧美精品中文字幕| 神尾舞高清无在码在线| 国产人成精品香港三级古代| 2022欧美高清中文字幕在线看| 在线观看黄色毛片| 中文字幕一区二区三区乱码| 日本午夜免费福利视频| 亚洲小说区图片区另类春色| 污污的网站在线免费观看| 午夜精品久久久久久久无码| 色与欲影视天天看综合网| 国产欧美日韩中文久久| 99久久国产免费中文无字幕| 夫妇交换性三中文字幕| 中文字幕视频免费在线观看| 日本在线视频WWW鲁啊鲁| 亚洲乱妇老熟女爽到高潮的片| 欧美性bbwbbw| 亚洲视频在线观看免费视频| 男女猛烈无遮挡免费视频|