MediaPlayerDemo.java

packagecom.android.test; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; public class MediaPlayerDemo extends Activity{ private ImageButtonmb1,mb2,mb3; private TextViewtv; private MediaPlayermp; //声明一个变量判断是否为暂停,默认为false private boolean isPaused= false ; public void onCreate(BundlesavedInstanceState){ super .onCreate(savedInstanceState); setContentView(R.layout.main); //通过findViewById找到资源 mb1=(ImageButton)findViewById(R.id.myButton1); mb2=(ImageButton)findViewById(R.id.myButton2); mb3=(ImageButton)findViewById(R.id.myButton3); tv=(TextView)findViewById(R.id.myTextView1); //创建MediaPlayer对象,将raw文件夹下的lovefool.mp3 mp=MediaPlayer.create( this ,R.raw.lovefool); //增加播放音乐按钮的事件 mb1.setOnClickListener( new ImageButton.OnClickListener(){ @Override public void onClick(Viewv){ try { if (mp!= null ) { mp.stop(); } mp.prepare(); mp.start(); tv.setText( "音乐播放中..." ); } catch (Exceptione){ tv.setText( "播放发生异常..." ); e.printStackTrace(); } } }); mb2.setOnClickListener( new ImageButton.OnClickListener(){ @Override public void onClick(Viewv){ try { if (mp!= null ) { mp.stop(); tv.setText( "音乐停止播放..." ); } } catch (Exceptione){ tv.setText( "音乐停止发生异常..." ); e.printStackTrace(); } } }); mb3.setOnClickListener( new ImageButton.OnClickListener(){ @Override public void onClick(Viewv){ try { if (mp!= null ) { if (isPaused== false ) { mp.pause(); isPaused= true ; tv.setText( "停止播放!" ); } else if (isPaused== true ) { mp.start(); isPaused= false ; tv.setText( "开始播发!" ); } } } catch (Exceptione){ tv.setText( "发生异常..." ); e.printStackTrace(); } } }); /*当MediaPlayer.OnCompletionLister会运行的Listener*/ mp.setOnCompletionListener( new MediaPlayer.OnCompletionListener() { //@Override /*覆盖文件播出完毕事件*/ public void onCompletion(MediaPlayerarg0) { try { /*解除资源与MediaPlayer的赋值关系 *让资源可以为其它程序利用*/ mp.release(); /*改变TextView为播放结束*/ tv.setText( "音乐播发结束!" ); } catch (Exceptione) { tv.setText(e.toString()); e.printStackTrace(); } } }); /*当MediaPlayer.OnErrorListener会运行的Listener*/ mp.setOnErrorListener( new MediaPlayer.OnErrorListener() { @Override /*覆盖错误处理事件*/ public boolean onError(MediaPlayerarg0, int arg1, int arg2) { //TODOAuto-generatedmethodstub try { /*发生错误时也解除资源与MediaPlayer的赋值*/ mp.release(); tv.setText( "播放发生异常!" ); } catch (Exceptione) { tv.setText(e.toString()); e.printStackTrace(); } return false ; } }); } }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值