日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Andorid之MediaPlayer和AudioTrack播放Audio的区别与联系

發(fā)布時間:2023/12/4 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Andorid之MediaPlayer和AudioTrack播放Audio的区别与联系 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
播放聲音可以用MediaPlayer和AudioTrack,兩者都提供了java API供應用開發(fā)者使用。雖然都可以播放聲音,但兩者還是有很大的區(qū)別的。 其中最大的區(qū)別是MediaPlayer可以播放多種格式的聲音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer會在framework層創(chuàng)建對應的音頻解碼器。 而AudioTrack只能播放已經解碼的PCM流,如果是文件的話只支持wav格式的音頻文件,因為wav格式的音頻文件大部分都是PCM流。AudioTrack不創(chuàng)建解碼器,所以只能播放不需要解碼的wav文件。當然兩者之間還是有緊密的聯(lián)系的,MediaPlayer在framework層還是會創(chuàng)建AudioTrack,把解碼后的PCM數(shù)流傳遞給AudioTrack,AudioTrack再傳遞給AudioFlinger進行混音,然后才傳遞給硬件播放。 所以是MediaPlayer包含了AudioTRack。 通過查看API可以知道,MediaPlayer提供了5個setDataSource方法,分為三類,一類是傳遞播放文件的字符串路徑作為參數(shù),例如直接取sd卡里mp3文件的路徑,一類是傳遞播放文件的FileDescriptor文件描述符作為播放的id,例例如從db中查詢的音頻文件的id,就可以直接賦給MediaPlayer進行播放。還有一類是Uri類型的資源文件,用于播放content uri文件。

總結

以上是生活随笔為你收集整理的Andorid之MediaPlayer和AudioTrack播放Audio的区别与联系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。