2013-12-23 5 views
3

Так что я делаю звуковое приложение для Android, и я застрял в 1 маленькой проблеме.Остановка медиаплеера

Когда я нажимаю кнопку 1, он воспроизводит звук. Эта часть работает хорошо, но я хочу, чтобы мое приложение остановило текущий медиаплеер при нажатии кнопки2 и воспроизведении звука кнопки 2.

final MediaPlayer mp = MediaPlayer.create(this, R.raw.kalas); 

    ImageButton sound1=(ImageButton) findViewById(R.id.sound1); 
    sound1.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (mp.isPlaying()) { 
      mp.pause(); 
      mp.seekTo(0); 
     } 
     else { 

      mp.start(); 

     } 

    } 
}); 
+1

показать нам соответствующий код. – Avijit

ответ

0

Создать новую ImageButton и установите onClickListener на кнопку и проверить, если он играет, а затем остановить медиаплеера на mp.stop();

final MediaPlayer mp = MediaPlayer.create(this, R.raw.kalas); 
ImageButton sound1=(ImageButton) findViewById(R.id.sound1); 
ImageButton sound2=(ImageButton) findViewById(R.id.sound2); 

sound1.setOnClickListener(new View.OnClickListener() { 
    @Override public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (mp.isPlaying()) { 
      mp.pause(); 
      mp.seekTo(0); 
     } 
     else { 
      mp.start(); 
     } 
    } 
}); 

sound2.setOnClickListener(new View.OnClickListener() { 
    @Override public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (mp.isPlaying()) { 
      mp.stop 
     } 

    } 
}); 
+0

Да, это пока работает, но он не будет воспроизводить звук, связанный с этой кнопкой. – user3094736

2
ImageButton sound2=(ImageButton) findViewById(R.id.sound2); 

sound2.setOnClickListener(new View.OnClickListener() { 
@Override public void onClick(View v) { 
// TODO Auto-generated method stub 
if (mp.isPlaying()) { 
    mp.pause(); 
    mp.seekTo(0); 
} 
mp.start(); 
} 
}); 
1

здесь является решение с полным кодом :)

final MediaPlayer mp = MediaPlayer.create(this, R.raw.kalas); 

    ImageButton sound1=(ImageButton) findViewById(R.id.sound1); 
    sound1.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (mp.isPlaying()) { 
      mp.pause(); 
      mp.seekTo(0); 
     } 
     else { 

      mp.start(); 

     } 

    } 
}); 

    ImageButton sound2=(ImageButton) findViewById(R.id.sound2); 
    sound2.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (mp.isPlaying()) { 
      mp.pause(); 
      mp.seekTo(0); 
     } 
     else { 

      mp.start(); 

     } 

    } 
}); 
0

Call First Когда вы играете песню. Попробуйте Это может вам помочь

public MediaPlayer StopMediaPlayer(MediaPlayer mediaPlayer) { 
    if (mediaPlayer != null) { 
     mediaPlayer.stop(); 
     mediaPlayer.release(); 
     mediaPlayer = null; 
    } 
    return mediaPlayer; 
} 
Смежные вопросы