mediaPlayer.release () вылетает мое приложение java - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть проект, в котором я добавил 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();
                    }
                });
            }
        };

Я надеюсь, что смогу решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...