首先新建壹個項目命名為Mp3Demo(這個看個人喜好),Activity命名為Mp3Demo。
1.接下來在Mp3Demo.java中輸入以下代碼:
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.按下來是定義布局文件,代碼如下:
xmlns:tools="/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"/>
完成這兩個代碼模塊後,最讓人興奮的時刻已經到來,那就是運行壹下這個程序,當妳聽到壹首妳非常喜歡的音樂後,妳成功了,慢慢享受。