У меня есть проект, в котором я добавил MediaPlayer в пользовательский адаптер массива и заставляю его взять идентификатор ресурса аудиофайла из списка массивов. Проблема в том, что я хочу выпустить медиаплеер после завершения аудио, но каждый раз время, когда я пытаюсь добавить релиз в OnCompletion и пытаюсь нажать на вид, когда медиаплеер воспроизводит звук, приложение вылетает. Я искал в Интернете и нашел код, но он выдает ошибку, и я не могу найти фактическую причину такого Cra sh. это код для прослушивателя при нажатии и медиапроигрывателя:
final MediaPlayer mediaPlayer = MediaPlayer.create(getContext(), currentWord.getVoiceResourceID());
// Wait for user's input by his click on the list's item to play the sound.
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// Storing the return value of getVoiceResourceID() into mVoice.
// I think this line can be ignored so we call the method inside the creation of the Media Player.
// Creating our media player and put our track on it.
mediaPlayer.selectTrack(currentWord.getVoiceResourceID());
mediaPlayer.start();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mediaPlayer.release();
}
});
}
};
Я надеюсь, что смогу решить эту проблему.