久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

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

作者: 時間:2011-12-18 來源:網絡 收藏

音頻解碼主要是在Decoder的read函數中完成的:首先,先會判斷是否是音樂定點,如果不是,Decoder會調用WMAExtrac-tor的read函數讀取一個未解碼的數據包;然后,對該數據進行解碼,將解碼后的音頻數據存放在MediaBuffer的Data()中,再設置MediaBu-ffer的mRangeOffset和mRangeLength,在讀取數據包時會從包中獲取該數據包中的時間戳,把該時間戳存放在MediaBuffer的Meta_ data()中的kKeyTime里;最后,WMAdecoder把該MediaBuffer傳回給AudioPlayer。如果是音樂定點,首先,WMADecoder會從AudioPtayer傳過來的ReadOption中獲取時間(option->getSeekTo(seekTimeUs,mode)),在調用WMASource的read函數來讀取未解碼音頻數據時會把該時間(seekTimeUs)傳給WMASource。WMASource的read函數獲取到該時間后,通過計算得出該時間要播放的音頻數據包的起始位置,然后讀取該數據包并傳給WMADecoder對其進行解碼,最后將該解碼后的音頻數據傳給AudioPlayer。

3 實驗結果
基于平臺的多媒體進行設計的WMA音頻播放,在多媒體框架的本地實現核心Stagefright框架里,添加WMA音頻格式。實現對WMA音頻格式的支持,使Android手機可以播放WMA音頻格式的文件。經過實際測試,播放效果達到了預期的要求,聲音清晰、音質好。圖4為增加WMA音頻播放模塊后Android源碼編譯結果的截圖。圖5為播放WMA格式文件時對播放界面的截圖。圖6為拉動滾動條后正常運行的截圖。

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

a.JPG

b.JPG



4 結束語
基于Android多媒體模塊中的Stagefright框架,在智能手機上實現了對WMA音頻格式的支持,使Android智能手機可以播放WMA音頻格式的媒體文件或流媒體。該設計在現有基礎上實現了對Android操作中多媒體功能的增強。目前Android平臺手機仍然不支持RMVB、WAV等視頻格式,所以Android多媒體系統的功能還需繼續增強和擴展。

c++相關文章:c++教程



上一頁 1 2 3 4 下一頁

關鍵詞: Android WMA 系統 播放

評論


相關推薦

技術專區

關閉