Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Mediaplayer错误,一次使用多次_Android_Android Mediaplayer - Fatal编程技术网

Android Mediaplayer错误,一次使用多次

Android Mediaplayer错误,一次使用多次,android,android-mediaplayer,Android,Android Mediaplayer,我已经创建了一个几乎完成的游戏,但我仍然有一个问题: 当我按下按钮想要播放声音时,我使用以下代码: MediaPlayer planeSound = MediaPlayer.create(ObjectCanvas.getDrawContext(), R.raw.plane); planeSound.start(); 它工作得很好,但唯一的问题是当我多次按下它时,MediaPlayer会给出一个错误,即错误(-19,0)。我

我已经创建了一个几乎完成的游戏,但我仍然有一个问题: 当我按下按钮想要播放声音时,我使用以下代码:

                    MediaPlayer planeSound = MediaPlayer.create(ObjectCanvas.getDrawContext(), R.raw.plane);
                planeSound.start();
它工作得很好,但唯一的问题是当我多次按下它时,MediaPlayer会给出一个错误,即错误(-19,0)。我搜索过了,但找不到解决方法。如果发生错误,MediaPlayer将不再播放任何声音,直到重新创建活动。游戏没有得到FC,只有错误(-19,0)


我不知道如何修复它,我希望有人能给我一些建议或解释。

选择声音池,或者重复使用一个media player实例,或者在完成后释放每个实例

使用MediaPlayer后,应调用release(),以释放 资源。如果不发布,将导致太多MediaPlayer实例 在例外情况下

还建议,一旦不再使用MediaPlayer对象 正在使用时,立即调用release(),以便 可以创建与MediaPlayer对象关联的内部播放器引擎 立即释放。资源可能包括单例资源,例如 硬件加速组件和调用release()失败可能会导致 导致MediaPlayer对象的后续实例回退到 软件实现或完全失败。一旦媒体播放器 对象处于结束状态,无法再使用,并且没有 把它带回任何其他州的方法


请参阅文档:

最好选择
SoundPool