91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-06 00:10:10 來源:腳本之家 閱讀:209 作者:段煉Android 欄目:移動開發

上次我們實現了把手機里的音頻掃描到,然后放在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下載地址:音樂播放器

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麻阳| 高要市| 铅山县| 内丘县| 武乡县| 宾川县| 育儿| 林周县| 都江堰市| 永城市| 宜章县| 陇西县| 安徽省| 黔南| 伊金霍洛旗| 台南县| 方山县| 屏边| 吴桥县| 通山县| 恭城| 福建省| 栖霞市| 金沙县| 昭苏县| 铁岭市| 大连市| 逊克县| 鄄城县| 兰考县| 余姚市| 仙游县| 海城市| 祁连县| 青川县| 绍兴市| 大城县| 宝兴县| 高唐县| 佛学| 龙山县|