使用MediaPlayer作的簡單音樂播放器,更多內容請到百度經驗查看 http://jingyan.baidu.com/article/60ccbceb63452364cab197f1.htmlhtml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:id="@+id/relativeLayout"> <TextView android:text="音頻播放器" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="播放" android:id="@+id/button" android:layout_weight="0.33" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="中止" android:id="@+id/button2" android:layout_weight="0.33" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="暫停" android:id="@+id/button3" android:layout_weight="0.33" /> </LinearLayout> </RelativeLayout>
package com.basillee.asus.demo; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import java.io.File; public class MainActivity extends Activity { private MediaPlayer mediaPlayer;//MediaPlayer對象 private boolean isPause=false;//是否暫停 private File file;//要播放的文件 private TextView hint;//聲明提示信息的文本框 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取各功能按鈕 final Button button=(Button)findViewById(R.id.button);//播放 final Button button1=(Button)findViewById(R.id.button2);//暫停 final Button button2=(Button)findViewById(R.id.button3);//中止 hint=(TextView)findViewById(R.id.textView); if(!isFileExist()){ button.setEnabled(false); } //對MediaPlayer對象添加事件監聽,當播放完成時從新開始音樂播放 mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { play(); } }); //對播放按鈕進行事件監聽 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { play(); if(isPause){ button1.setText("暫停"); isPause=false; } button1.setEnabled(true); button2.setEnabled(true); button.setEnabled(false); } }); //對暫停、繼續按鈕添加事件監聽器 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mediaPlayer.isPlaying()&&!isPause){ mediaPlayer.pause(); isPause=true; ((Button)v).setText("繼續"); hint.setText("暫停播放音頻...."); button.setEnabled(true); }else{ mediaPlayer.start(); ((Button)v).setText("暫停"); hint.setText("繼續播放音頻...."); button.setEnabled(false); } } }); //對中止按鈕添加事件監聽器 button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mediaPlayer.stop(); hint.setText("中止播放音頻..."); button1.setEnabled(false); button2.setEnabled(false); button.setEnabled(true); } }); } @Override protected void onDestroy() { if(mediaPlayer.isPlaying()){ mediaPlayer.stop(); } mediaPlayer.release(); super.onDestroy(); } //判斷文件是否存在 private boolean isFileExist(){ file=new File(Environment.getExternalStorageDirectory()+File.separator+"myMP32.mp3"); if(file.exists()){ // mediaPlayer=new MediaPlayer(); mediaPlayer=MediaPlayer.create(this,R.raw.my); try { // mediaPlayer.setDataSource(file.getAbsolutePath()); // mediaPlayer.prepare();//預加載音頻 // mediaPlayer.start();//播放音樂 }catch (Exception e) { e.printStackTrace(); } Toast.makeText(this,"file exist",Toast.LENGTH_LONG).show(); return true; }else{ Toast.makeText(this,"file don't exist",Toast.LENGTH_LONG).show(); } return false; } //播放音樂的方法 private void play(){ try{ mediaPlayer.reset();//重新設置要播放的音樂 // mediaPlayer.setDataSource(file.getAbsolutePath()); // mediaPlayer.prepare();//預加載音頻 mediaPlayer=MediaPlayer.create(this,R.raw.my); mediaPlayer.start();//播放音樂 hint.setText("Music is starting"); } catch (Exception e) { e.printStackTrace(); Log.e("err",e.getMessage()); } return ; } }
使用MediaPlayer作的簡單音樂播放器,更多內容請到百度經驗查看 http://jingyan.baidu.com/article/60ccbceb63452364cab197f1.htmljava