Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Android 中級教程之------Android MediaPlayer播放mp3的實例!

Android 中級教程之------Android MediaPlayer播放mp3的實例!

編輯:中級開發

大家好我們今天研究的是android中很重要也最為復雜的媒體播放器---MediaPlayer.

Android的MediaPlayer包含了Audio和video的播放功能,在android的界面上,Music和Video兩個應用程序都是調用MediaPlayer實現的。

  MediaPlayer在底層是基於OpenCore(PacketVideo)的庫實現的,為了構建一個MediaPlayer程序,上層還包含了進程間通訊等內容,這種進程間通訊的基礎是android基本庫中的Binder機制。

而我們今天的例子只是利用MediaPlayer來播放res/raw文件夾中一首非常動聽的英文哥love fool.mp3.程序有三個ImageButton按鈕,播放,停止,和暫停!三個按鈕的功能我就不用多說.下面我將Step By Step教你如何完成本Demo的實現.

Step 1 :新建一個android工程,命名為MediaPlayerDemo.

Step 2 :准備素材,在res下建一個raw文件夾,將foollove.mp3導入,將play.png,pause.png,及stop.png導入res/drawable文件夾下.

Step 3: 設計UI布局,在main.XML裡放入三個ImageButton(這裡可以用AbsoluteLayout,或者RelativeLayout實現,我用後者).代碼如下:

  1. <?XML version="1.0" encoding="utf-8"?> 
  2. //聲明一個變量判斷是否為暫停,默認為false  
  3. //通過findVIEwById找到資源  
  4. //創建MediaPlayer對象,將raw文件夾下的lovefool.mp3  
  5. //增加播放音樂按鈕的事件  
  6. @Override 
  7. @Override 
  8. @Override 
  9.    public void onClick(VIEw v) {  
  10. /* 當MediaPlayer.OnCompletionLister會運行的Listener */ 
  11.         mp.setOnCompletionListener(  
  12. // @Override   
  13.           /*覆蓋文件播出完畢事件*/ 
  14. @Override 
  15.    

       

    擴散學習:

    如果我們想播放手機卡裡的音樂,或者URL下載流媒體來播放,示意程序如下:

    1. MediaPlayer mp = new MediaPlayer();   
    2.  
    3. mp.setDataSource(String URL/FILE_PATH);   
    4.  
    5. mp.prepare();   
    6.  
    7. mp.start();   
    8.  

    以上程序主要是通過MediaPlayer.setDataSource() 的方法,將URL或文件路徑以字符串的方式傳入.使用setDataSource ()方法時,要注意以下三點:

    1.構建完成的MediaPlayer 必須實現Null 對像的檢查.

    2.必須實現接收IllegalArgumentException 與IOException 等異常,在很多情況下,你所用的文件當下並不存在.

    3.若使用URL 來播放在線媒體文件,該文件應該要能支持pragressive 下載.

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved