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

首頁 > 系統 > Android > 正文

Android音樂播放器制作 點擊歌曲實現播放(二)

2019-12-12 03:37:04
字體:
來源:轉載
供稿:網友

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

這次是在上一次的基礎上直接繼續寫代碼,幾行代碼實現點擊那首歌曲就播放那首歌曲,系統已經提供了播放音頻的對象了,直接用就可以了,具體如下:

1、聲明一個MediaPlayer

private MediaPlayer mediaPlayer;//播放音頻的

2、實例化

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

然后我們就有一個MediaPlayer的對象可以使用了

3、在initView方法里面給ListView設置一個點擊監聽事件,點擊哪個item我們就可以得到這個item的歌曲地址,然后穿入我們創建的播放音頻的方法中實現播放:

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

然后play方法的代碼:

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

play方法里面我們調用的是mediaPlayer的異步準備的方法,因為當歌曲很大的時候,如果不是用異步準備,而是直接準備播放的話,就會造成播放卡頓;然后就在mediaPlayer的準備完畢的監聽方法中調用start()中開始。

持續更新

demo下載地址:音樂播放器

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湟中县| 咸阳市| 甘南县| 聊城市| 昭苏县| 日土县| 永福县| 乌兰县| 无为县| 阳西县| 屯昌县| 桐柏县| 满洲里市| 观塘区| 万源市| 阳江市| 天祝| 安岳县| 白河县| 丹寨县| 安平县| 扶绥县| 博客| 九江县| 新沂市| 吉隆县| 广南县| 高清| 晋中市| 河津市| 石阡县| 湾仔区| 孟连| 监利县| 无为县| 洪江市| 信丰县| 华池县| 出国| 大埔区| 荥经县|