真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在Android平臺(tái)下開發(fā)多媒體軟件MediaPlayer

怎么在Android平臺(tái)下開發(fā)多媒體軟件MediaPlayer,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站建設(shè)、越秀網(wǎng)絡(luò)推廣、小程序開發(fā)、越秀網(wǎng)絡(luò)營銷、越秀企業(yè)策劃、越秀品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供越秀建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

現(xiàn)在將介紹一下在Android平臺(tái)下如何開發(fā)多媒體軟件MediaPlayer。MediaPlayer可以用來播放視頻和音頻、流媒體。MediaPlayer的生命周期如下圖:

怎么在Android平臺(tái)下開發(fā)多媒體軟件MediaPlayer

從MediaPlayer的生命周期圖,可以看出使用MediaPlayer不是很復(fù)雜。

最簡單的流程:初始化->resrt()->setDataSource()->prepare()->start()->……只要簡單的幾步,就可以播放音頻文件了。

來看看一個(gè)播放音頻的例子吧,看代碼和注釋吧……

1: private Handler handler = new Handler() {   2:     3:         public void handleMessage(Message msg) {   4:             //更新進(jìn)度條   5:             progressBar.setProgress(progressState);   6:         };   7:     };   8:     9: /**  10:      * 播放  11:      *   12:      * @param filePath  13:      *            文件路徑  14:      */  15:     private void playMusic(String filePath) {  16:         try {  17:             progressState = 0;  18:             progressBar.setProgress(0);  19:             // 重置  20:             mediaPlayer.reset();  21:             // 設(shè)置數(shù)據(jù)源  22:             mediaPlayer.setDataSource(filePath);  23:             // 準(zhǔn)備播放  24:             mediaPlayer.prepare();  25:             // 獲取播放時(shí)長  26:             length = mediaPlayer.getDuration();  27:             progressBar.setMax(length / 1000);  28:             // 播放  29:             mediaPlayer.start();  30:             new Thread(new ProcessBarRefresh()).start();  31:             // 設(shè)置播放完畢監(jiān)聽  32:             mediaPlayer.setOnCompletionListener(new OnCompletionListener() {  33:                 @Override  34:                 public void onCompletion(MediaPlayer mp) {  35:                     nextMusic();  36:                 }  37:             });  38:    39:         } catch (Exception e) {  40:             displayToast(e.getMessage());  41:         }  42:     }  43:       44:     /**  45:      * 更新進(jìn)度條  46:      * @author 張漢國  47:      */  48:     class ProcessBarRefresh implements Runnable{  49:    50:         @Override  51:         public void run() {  52:             while(isPlaying){  53:                 progressState = mediaPlayer.getCurrentPosition()/1000;  54:                 handler.sendMessage(handler.obtainMessage());  55:             }  56:         }  57:           58:     }

怎么在Android平臺(tái)下開發(fā)多媒體軟件MediaPlayer

怎么在Android平臺(tái)下開發(fā)多媒體軟件MediaPlayer

以上只是一個(gè)簡單的實(shí)例,要開發(fā)一個(gè)播放器除了UI需要下功夫外,還得注意不少細(xì)節(jié)東西。

Android中音樂播放是一個(gè)后臺(tái)進(jìn)程,以上代碼當(dāng)調(diào)用 onStop()->onCreate() 的時(shí)候會(huì)重復(fù)加載播放列表,造成列表重復(fù)。這就需要用到 onSaveIntanceState(),這樣子在onCreate()里面初始化播放列表的時(shí)候先判斷 Bundle 是否為空,是否能拿到播放列表,如果拿不到在重新初始化。

再者Android自身也提供一個(gè)MediaStore這樣一個(gè)Provider的屬性對象供我們開發(fā)利用。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


當(dāng)前題目:怎么在Android平臺(tái)下開發(fā)多媒體軟件MediaPlayer
網(wǎng)站路徑:http://weahome.cn/article/pcojeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部