1. 程式人生 > >Android如何實現簡單音樂播放器的程式碼

Android如何實現簡單音樂播放器的程式碼

想必大家在學Android的音樂播放器時肯定會遇到很多困難,不怕,在這裡我給大家分享一個很簡單的音樂播放器,絕對會對你的學習有所幫助。本例子不難,但是也確能給你帶來柳暗花明又一村的感覺。閒話少說,馬上來看看這個播放器有多簡單,(*^__^*) !
程式碼裡的解釋很詳細,一看就懂
首先新建一個專案命名為Mp3Demo(這個看個人喜好),Activity命名為Mp3Demo。
1.接下來在Mp3Demo.java中輸入以下程式碼:
Java code?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 package com.example.mp3demo; import android.media.MediaPlayer; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class Mp3Demo extends Activity {       //聲名變數
private Button start=null; private Button pause=null; private Button stop=null; private TextView state=null; private MediaPlayer mp3; private Boolean flag=false//設定標記,false表示正在播放 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_mp3_demo);
//取得各按鈕元件 start=(Button) super.findViewById(R.id.start); pause=(Button) super.findViewById(R.id.pause); stop=(Button) super.findViewById(R.id.stop); state=(TextView)super.findViewById(R.id.state); //為每個按鈕設定單擊事件 start.setOnClickListener(new OnClickListenerStart()); pause.setOnClickListener(new OnClickListenerPause()); stop.setOnClickListener(new OnClickListenerStop()); mp3= new MediaPlayer();    //建立一個MediaPlayer物件 //在res下新建一個raw資料夾把一首歌放到此資料夾中並用英文命名 mp3 = MediaPlayer.create(Mp3Demo.this,R.raw.sky);   } //各按鈕單擊事件的實現如下 //開始播放 private class OnClickListenerStart implements OnClickListener{ //implementsOnClickListener為實現OnClickListener介面 @Override //重寫onClic事件 public void onClick(View v) {    //執行的程式碼,其中可能有異常。一旦發現異常,則立即跳到catch執行。否則不會執行catch裡面的內容  try { if (mp3!=null) { mp3.stop(); } mp3.prepare();         //進入到準備狀態 mp3.start();          //開始播放 state.setText("Playing");  //改變輸出資訊為“Playing”,下同 catch (Exception e) { state.setText(e.toString());//以字串的形式輸出異常 e.printStackTrace();  //在控制檯(control)上打印出異常 } } } //暫停播放   private class OnClickListenerPause implements OnClickListener{ @Override public void onClick(View v) { try { if (flag==false//若flag為false,則表示此時播放器的狀態為正在播放 { mp3.pause(); flag=true; state.setText("pause"); } else if(flag==true){ mp3.start();    //開始播放 flag=false;     //重新設定flag為false state.setText("Playing"); } catch (Exception e) { state.setText(e.toString()); e.printStackTrace(); } } } //停止播放 private class OnClickListenerStop implements OnClickListener{ @Override public void onClick(View v) { try { if (mp3!=null) { mp3.stop(); state.setText("stop"); } catch (Exception e) { state.setText(e.toString()); e.printStackTrace(); } } } //重寫暫停狀態事件 protected void onPause(){ try { mp3.release();   //釋放音樂資源 catch (Exception e) { state.setText(e.toString()); e.printStackTrace(); } super.onPause(); } }

2.按下來是定義佈局檔案,程式碼如下:
Java code?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:id="@+id/state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="start"/> android:id="@+id/pause" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="pause"/> android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="stop"/>

完成這兩個程式碼模組後,最讓人興奮的時刻已經到來,那就是跑一下這個程式,當你聽到一首你非常喜歡的音樂後,你成功了,慢慢享受。在享受中你渴了怎麼辦,不用怕有暫停,解完喝了,點播放繼續陶醉美妙的旋律中。

我有一個很不錯的 android學習培訓①群 ,裡面有高手和乾貨希望你能加入進來。一起學習和交流,群號是:278744577,加群時請驗證:qy777,謝謝!