首页 > 解决方案 > mediaPlayer.release() 使我的应用程序 java 崩溃

问题描述

我有一个项目,我在自定义数组适配器中添加了一个 MediaPlayer,我让它从数组列表中获取音频文件的资源 ID 问题是我想在音频完成后释放媒体播放器,但每次我尝试在 OnCompletion 中添加发布并尝试在媒体播放器播放声音时按下视图应用程序崩溃.. 我在网上搜索并找到了一个代码,但它给了我一个错误,我找不到这种崩溃的实际原因。这是点击监听器和媒体播放器的代码:

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();
                    }
                });
            }
        };

我希望我能解决这个问题。

标签: javaandroidperformance

解决方案


推荐阅读