Я добавил звук звука в свое приложение для Android, но , когда я нажимаю слишком быстро на кнопках, звук воспроизводится только один раз (beacause, когда первая игра еще не закончена). Я хочу, чтобы звук воспроизводился при каждом нажатии.Android MediaPlayer - воспроизведение звука дважды, пока не завершено
Я хотел бы знать, что является лучшим способом реализовать поведение, которое я хочу?
Я положил на создание экземпляра MediaPlayer в методе OnCreate() и играть в OnClick()
@Override
protected void onCreate(Bundle savedInstanceState) {
[...]
mpClic = MediaPlayer.create(getApplicationContext(),R.raw.clic);
}
vButtonLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[...]
mpClic.start();
}
});
- Я пытался остановить()/подготовить() его перед игрой() но я получаю то же самое.
- Я попытался создать новый медиаплеер при каждом воспроизведении, он работает, но я думаю, что это не рекомендуется (и, кстати, с помощью этого метода звук в моей активности останавливается, если я спам кнопки слишком много раз очень быстро)
Спасибо заранее :)
Проверьте, есть ли 'mpClic.isPlaying()' перед 'mpClic.start();' второй раз. [Документация] (http://developer.android.com/reference/android/media/MediaPlayer.html) –
Хорошо, но как я могу воспроизвести его во второй раз, если он уже играет? – Maarti