Я делаю приложение, которое использует звуковые эффекты. Я хотел бы знать, как я могу обнаружить, когда звук закончил игру и вызвал событие.Запуск события, когда mediaPlayer останавливается
я попытался это:
player = new MediaPlayer();
if (player != null) {
player.reset();
player.release();
}
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
sonar.setBackgroundResource(R.drawable.sonar_off);
stopPlay();
}
});
if(state==1){
player = MediaPlayer.create(this, R.raw.sonar_slow);
}else if(state==2){
player = MediaPlayer.create(this, R.raw.sonar_medium);
}else if(state==3){
player = MediaPlayer.create(this, R.raw.sonar_fast);
}
try{
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.start();
Вы знаете длину звуковой файл? –
У меня есть несколько аудиофайлов разной длины – mremremre1
Вы должны действительно прочитать [документацию] (http://developer.android.com/reference/android/media/MediaPlayer.html#setOnCompletionListener (android.media.MediaPlayer.OnCompletionListener)) перед публикацией. – keyser