2016-06-29 12 views
0

これは使用しているメソッドです。必要なときに呼び出す...私の場合は、そのオーディオを1つのボタンで制御するかどうかは、切り替えてもボタンでもかまいませ... ボタン一つAndroidオーディオの再生と停止

private void playSound() { 
    if (isFlashLightOn) { 
     mp = MediaPlayer.create(MainActivity.this, R.raw.light_switch_off); 
    } else { 
     mp = MediaPlayer.create(MainActivity.this, R.raw.light_switch_on); 
    } 
    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 

     @Override 
     public void onCompletion(MediaPlayer mp) { 
      // TODO Auto-generated method stub 
      mp.release(); 
     } 
    });mp.start(); playing=true; 

} 

答えて

0

にOnclick P上のコード

private void playSound() { 
    if (isFlashLightOn) { 
     mp = MediaPlayer.create(MainActivity.this, R.raw.light_switch_off); 
    } else { 
    mp = MediaPlayer.create(MainActivity.this, R.raw.light_switch_on); 
    } 
    mp.prepareAsync(); //prepares the MediaPlayer 
    mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mediaPlayer) { 
      //MediaPlayer instance prepared 
      mp.start(); //play the content 
      playing=true;//update the flag 
     } 
    }); 
    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mp) { 
      mp.release(); //playback finished 
      playing=false; //update the flag 
     } 
    }); 
} 

詳細の編集されたバージョンで停止ause:

public void pause(View view) { 

      Toast.makeText(getApplicationContext(), 
        "Pausando..", Toast.LENGTH_SHORT) 
        .show(); 
      if (mp != null && mp.isPlaying()) { 
       mp.pause(); 
      } 
     }//pause 

Onclik stop-

public void stop(View view) { 
     Toast.makeText(getApplicationContext(), 
       "Stop", Toast.LENGTH_SHORT) 
       .show(); 
     if (mp != null) { 
      mp.stop(); 


     }//if 
    }//stop 
関連する問題