如何设置Android的开/关按钮?

时间:2014-01-12 15:53:38

标签: android onclicklistener

我正在尝试为我的背景音乐制作一个开关按钮。音乐立即开始。当我按下按钮时音乐关闭但是当我按下按钮时它会强制关闭。请帮忙

mp=MediaPlayer.create(this, R.raw.islandsong);
    mp.setLooping(true);
    mp.start();

    onButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (mp==null){
                mp.start();
            }
        }
    });

    offButton.setOnClickListener(new View.OnClickListener() {           
        public void onClick(View v) {
            if (mp!=null){
                mp.stop();
                mp.release();
                mp = null; 
            }               
        }
    });

1 个答案:

答案 0 :(得分:2)

您使用的是错误的方法。您应该检查音乐播放器是否在播放,如果是,请停止播放。

try { 
   if(mp.isPlaying()){
       mp.stop();
       mp.release(); 
    } 
 } catch(Exception ex) { 
   ex.printStackTrace() 
 }

<强>更新 如果要播放和停止媒体播放器,则需要将代码编辑为以下内容

onButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (!mp.isPlaying()){
                mp.start();
            }
        }
    });

    offButton.setOnClickListener(new View.OnClickListener() {           
        public void onClick(View v) {
            try { 
                if(mp.isPlaying()){
                mp.stop();
                mp.release(); 
                } 
              } catch(Exception ex) { 
                 ex.printStackTrace() 
              }               
        }

此代码将确保Media Player仅在播放时播放歌曲,并且仅在播放时停止播放。