新聞中心

        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://www.104case.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 系統 播放

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿拉善盟| 常州市| 上犹县| 谷城县| 靖宇县| 隆安县| 驻马店市| 五台县| 安阳县| 资源县| 钦州市| 遵义县| 阿拉尔市| 根河市| 视频| 静宁县| 金塔县| 兴业县| 滨州市| 土默特右旗| 黄冈市| 佳木斯市| 绥中县| 灵丘县| 镇远县| 本溪市| 嵩明县| 乌兰察布市| 永宁县| 商水县| 方山县| 郯城县| 九龙坡区| 望江县| 信阳市| 八宿县| 府谷县| 观塘区| 元氏县| 抚顺市| 安新县|