2016-06-29 2 views
0

это метод am using.. и будет вызывать при необходимости ... в моем случае я хочу управлять этим звуком с помощью одной кнопки, может ли он переключаться или на кнопку ... нажмите, чтобы начать и остановка в одной кнопкиВоспроизведение и остановка Android 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

отредактированную версию вашего кода

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 
     } 
    }); 
} 

подробнее о MediaPlayer here

0

OnClick р 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