多次使用Mediaplayer错误

时间:2013-05-12 17:08:37

标签: android android-mediaplayer

我创造了一款差不多完整的游戏,但我还有一个问题: 按下按钮后,我想要播放声音,我使用此代码执行此操作:

                    MediaPlayer planeSound = MediaPlayer.create(ObjectCanvas.getDrawContext(), R.raw.plane);
                planeSound.start();

它工作得很好,但唯一的问题是当我按很多次,然后MediaPlayer会给出一个错误错误(-19,0)。我搜索过但我无法找到解决方案。如果错误发生,MediaPlayer将不再播放任何声音,直到重新创建动作。游戏没有获得FC,只是错误(-19,0)。

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

1 个答案:

答案 0 :(得分:0)

转到声音池,或重用一个媒体播放器实例,或在完成后释放每个实例。

  

完成MediaPlayer后,你应该调用release()来释放   资源。如果未释放,将导致过多的MediaPlayer实例   在一个例外中。

  

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

请参阅文档:http://developer.android.com/reference/android/media/MediaPlayer.html