public class MainActivity extends Activity {
private Button mb1, mb2, mb3;
private TextView tv;
private MediaPlayer mp;
// 声明一个变量判断是否为暂停,默认为false
private boolean isPaused = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 通过findViewById找到资源
mb1 = (Button) findViewById(R.id.myButton1);
mb2 = (Button) findViewById(R.id.myButton2);
mb3 = (Button) findViewById(R.id.myButton3);
tv = (TextView) findViewById(R.id.myTextView1);
// 创建MediaPlayer对象,将raw文件夹下的lovefool.mp3
mp = MediaPlayer.create(this, R.raw.care);
// 增加播放音乐按钮的事件
mb1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
if (mp != null) {
mp.stop();
}
mp.prepare();
mp.start();
tv.setText("音乐播放中...");
} catch (Exception e) {
tv.setText("播放发生异常...");
e.printStackTrace();
}
}
});
mb2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
if (mp != null) {
mp.stop();
tv.setText("音乐暂停播放...");
}
} catch (Exception e) {
tv.setText("音乐停止发生异常...");
e.printStackTrace();
}
}
});
mb3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
if (mp != null) {
if (isPaused == false) {
mp.pause();
isPaused = true;
tv.setText("停止播放!");
} else if (isPaused == true) {
mp.start();
isPaused = false;
tv.setText("开始播发!");
}
}
} catch (Exception e) {
tv.setText("发生异常...");
e.printStackTrace();
}
}
});
/* 当MediaPlayer.OnCompletionLister会运行的Listener */
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
// @Override
/* 覆盖文件播出完毕事件 */
public void onCompletion(MediaPlayer arg0) {
try {
/*
* 解除资源与MediaPlayer的赋值关系 让资源可以为其它程序利用
*/
mp.release();
/* 改变TextView为播放结束 */
tv.setText("音乐播发结束!");
} catch (Exception e) {
tv.setText(e.toString());
e.printStackTrace();
}
}
});
/* 当MediaPlayer.OnErrorListener会运行的Listener */
mp.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
/* 覆盖错误处理事件 */
public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
try {
/* 发生错误时也解除资源与MediaPlayer的赋值 */
mp.release();
tv.setText("播放发生异常!");
} catch (Exception e) {
tv.setText(e.toString());
e.printStackTrace();
}
return false;
}
});
}
}
资源下载地址:
http://download.csdn.net/detail/shi508181017/5878041
android的MediaPlayer播放器迷你案例
最新推荐文章于 2024-04-05 00:21:48 发布