2014-01-11 40 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

也許添加一些評論 –