国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android音樂播放器制作 點(diǎn)擊歌曲實(shí)現(xiàn)播放(二)

2019-10-23 19:45:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

上次我們實(shí)現(xiàn)了把手機(jī)里的音頻掃描到,然后放在list集合里面,用ListView展示在手機(jī)界面上,如果沒有看過(guò)的可以去看看本人的博客:Android音樂播放器制作(一)掃描本地音樂顯示在手機(jī)上

這次是在上一次的基礎(chǔ)上直接繼續(xù)寫代碼,幾行代碼實(shí)現(xiàn)點(diǎn)擊那首歌曲就播放那首歌曲,系統(tǒng)已經(jīng)提供了播放音頻的對(duì)象了,直接用就可以了,具體如下:

1、聲明一個(gè)MediaPlayer

private MediaPlayer mediaPlayer;//播放音頻的

2、實(shí)例化

//初始化 mediaPlayer = new MediaPlayer(); 

然后我們就有一個(gè)MediaPlayer的對(duì)象可以使用了

3、在initView方法里面給ListView設(shè)置一個(gè)點(diǎn)擊監(jiān)聽事件,點(diǎn)擊哪個(gè)item我們就可以得到這個(gè)item的歌曲地址,然后穿入我們創(chuàng)建的播放音頻的方法中實(shí)現(xiàn)播放:

mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {       @Override       public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {         //創(chuàng)建一個(gè)播放音頻的方法,把點(diǎn)擊到的地址傳過(guò)去         //list.get(i).path這個(gè)就是歌曲的地址         play(list.get(i).path);       }     }); 

然后play方法的代碼:

/**   * 播放音頻的方法   */   private void play(String path) {     //播放之前要先把音頻文件重置     try {       mediaPlayer.reset();       //調(diào)用方法傳進(jìn)去要播放的音頻路徑       mediaPlayer.setDataSource(path);       //異步準(zhǔn)備音頻資源       mediaPlayer.prepareAsync();       //調(diào)用mediaPlayer的監(jiān)聽方法,音頻準(zhǔn)備完畢會(huì)響應(yīng)此方法       mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {         @Override         public void onPrepared(MediaPlayer mediaPlayer) {           mediaPlayer.start();//開始音頻         }       });      } catch (IOException e) {       e.printStackTrace();     }   } 

play方法里面我們調(diào)用的是mediaPlayer的異步準(zhǔn)備的方法,因?yàn)楫?dāng)歌曲很大的時(shí)候,如果不是用異步準(zhǔn)備,而是直接準(zhǔn)備播放的話,就會(huì)造成播放卡頓;然后就在mediaPlayer的準(zhǔn)備完畢的監(jiān)聽方法中調(diào)用start()中開始。

持續(xù)更新

demo下載地址:音樂播放器

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 运城市| 定兴县| 陕西省| 康乐县| 高邮市| 小金县| 连江县| 大新县| 星子县| 墨江| 定南县| 弋阳县| 黄冈市| 贞丰县| 濮阳县| 淳安县| 简阳市| 漳州市| 融水| 绥棱县| 华坪县| 陕西省| 富顺县| 岐山县| 连南| 乳山市| 陇西县| 荥阳市| 湖南省| 特克斯县| 青海省| 监利县| 当涂县| 长春市| 北安市| 孟州市| 浦城县| 石狮市| 武隆县| 娱乐| 南和县|