2014-01-11 43 views
0


这是一个娱乐的代码并停止媒体播放器
它成功地进行了音乐并播放that.But停止按钮没有工作
为什么它不工作?
请指引我走向正确的代码
感谢
停止按钮不起作用

mp = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Titraj/"+name+".mp3")); 


    play.setOnClickListener(new OnClickListener(){ 

     @Override 
      public void onClick(View arg0) { 
       if(mp.isPlaying()){ 
        if(mp!=null){ 
         mp.pause(); 
         play.setImageResource(R.drawable.play); 
        } 
       }else{ 
        if(mp!=null){ 
         mp.start(); 
         play.setImageResource(R.drawable.pa); 
        } 
       } 

      } 
     }); 
    stop.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 
       if(mp.isPlaying()){ 
        if(mp!=null){ 
         mp.stop(); 
        } 
      } 
     } 
     }); 

    mp.setOnCompletionListener(new OnCompletionListener(){ 

     @Override 
     public void onCompletion(MediaPlayer arg0) { 
      play.setImageResource(R.drawable.play); 

     } 
    }); 
+0

尝试删除mp.isPlaying()if语句中的空检查 – Ogen

+0

它不工作! – Amir

+0

为什么在你已经在它之前的行中使用mp后,mp!= null检查? – John3136

回答

0

使用试试这个这个....

stop.setOnClickListener(new OnClickListener(){ 

@Override 
public void onClick(View arg0) { 
     if (mp != null) { 
     mp.stop(); 
     mp.release(); 
     mp = null; 
    } 
    } 
}); 

还必须检查你的未设置android:focusable = false为您在xml文件中的按钮。

0

在上停止方法

mp.stop(); 
mp.release(); 
mp= null; 
0
mp = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Titraj/"+name+".mp3")); 


    play.setOnClickListener(new OnClickListener(){ 

     @Override 
      public void onClick(View arg0) { 
       if(mp.isPlaying()){ 
        if(mp!=null){ 
         mp.pause(); 
         play.setImageResource(R.drawable.play); 
        } 
       }else{ 
        if(mp!=null){ 
         mp.start(); 
         play.setImageResource(R.drawable.pa); 
        } 
       } 

      } 
     }); 
    stop.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 
       if(mp.isPlaying()){ 

         mp.stop(); 



      } 
     } 
     }); 

    mp.setOnCompletionListener(new OnCompletionListener(){ 

     @Override 
     public void onCompletion(MediaPlayer arg0) { 
      play.setImageResource(R.drawable.play); 

     } 
    }); 


Check this code i hop it working.... 
+0

也许添加一些评论 –