<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > Android系統WMA文件播放功能的設計與實(shí)現

Android系統WMA文件播放功能的設計與實(shí)現

作者: 時(shí)間:2011-12-18 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要 為增強多媒體的功能,在智能手機上添加音頻功能,使平臺支持格式,格式文件?;贏(yíng)ndroid多媒體的Stagefright框架,通過(guò)創(chuàng )建WMA的文件解析單元和解碼單元,使WMA音頻文件中的編碼數據被正確地解碼成原始數據并輸出。通過(guò)在A(yíng)ndroid平臺測試機上反復WMA音頻文件,播放聲音清晰、音質(zhì)良好。
關(guān)鍵詞 Android;WMA;多媒體;Stagefright

WMA可用于多種格式的編碼文件中。微軟公司在WMA9中大幅改進(jìn)了其引擎,實(shí)際上幾乎可以在同文件同音質(zhì)下比MP3體積約小1/3,因此適合用于網(wǎng)絡(luò )串流媒體及行動(dòng)裝置。許多播放器軟件也紛紛開(kāi)發(fā)出支持WMA格式的插件程序來(lái),但Android手機尚未支持該格式,故在A(yíng)ndroid手機中添加WMA音頻解碼格式具有一定意義。

1 Andr0Id平臺及其多媒體框架結構
1.1 Android
Android是Goosle與OHA(Open Handset Alliance)推出的開(kāi)源手機操作系統。Android基于Linux平臺,由操作系統、中間件、用戶(hù)界面和應用軟件組成。Android平臺自底向上由4個(gè)層次組成:Linux內核層、運行時(shí)庫和其他庫層、應用框架層、應用程序層。
(1)Linux Kernel。Android底層是一個(gè)基于Linux2.6內核來(lái)開(kāi)發(fā)的獨立操作系統,該層主要用于提供系統的底層服務(wù),包括安全機制、內存管理、進(jìn)程管理、網(wǎng)絡(luò )堆棧和驅動(dòng)等。
(2)Libraries和Android Runtime。這一層主要與進(jìn)程運行相關(guān),包含了一套C/C++函數庫,主要包括Libc、Media、Framework、WebKit、SGL、OpenGLES、FreeType、SQLite等。核心庫提供了Java編程核心庫的大多數功能,這些功能通過(guò)Android應用框架展現給開(kāi)發(fā)人員,另外每一個(gè)Android程序都有獨立的Dalvik虛擬機為它提供運行環(huán)境。
(3)Application Framework。該層是Android平臺專(zhuān)為應用程序開(kāi)發(fā)而設計的。開(kāi)發(fā)者通過(guò)使用核心應用程序調用Android框架提供的API,這個(gè)應用程序結構被設計成方便復用的組件,該層由一系列的服務(wù)和系統構成。
(4)Applications。Android本身附帶一些核心的應用程序包,例如Email客戶(hù)端、瀏覽器、日歷、Google地圖、SMS短消息程序等。
1.2 媒體播放器結構及多媒體實(shí)現的核心
Android多媒體系統縱向跨越了Android系統的所有4個(gè)層次:Java應用程序層、Java框架層、本地代碼層、Linux驅動(dòng)層。多媒體本地代碼層是多媒體系統的重點(diǎn)。Libmedia庫提供多媒體部分的本地框架,Libstagefright提供多媒體核心功能的實(shí)現。
Android媒體播放器的模塊結構如圖1所示。

本文引用地址:http://dyxdggzs.com/article/194616.htm

c.JPG


上層的應用程序將媒體的URI作為輸入設置到媒體播放器中,再經(jīng)過(guò)應用框架、JNI和本地框架,一直到設置到StagefrightPlayer中。在這個(gè)過(guò)程中沒(méi)有數據流的傳遞,只是傳遞了URI路徑。經(jīng)Stagefright-Player中的解析單元進(jìn)行解析后,讀取音頻流,經(jīng)過(guò)解碼器的處理轉換成原始數據。音頻原始數據將被送到音頻輸出環(huán)節中。
Stagefright是Android多媒體本地實(shí)現的核心。Stagefright中包括的內容很多,單從播放的角度來(lái)看StagefrightPlayer輸入的是文件或網(wǎng)絡(luò )媒體流,輸出的是音視頻輸出設備,基本功能包括了媒體流控制、文件解析、音視頻文件解碼等方面。所以,要實(shí)現Android多媒體對WMA音頻格式媒體文件或流媒體的播放,就需要擴展Stagefright中的文件解析和音頻解碼等方面,添加WMA格式的文件解析單元和WMA音頻文件解碼單元。

c++相關(guān)文章:c++教程



上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: Android WMA 系統 播放

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>