我创造了一款差不多完整的游戏,但我还有一个问题: 按下按钮后,我想要播放声音,我使用此代码执行此操作:
MediaPlayer planeSound = MediaPlayer.create(ObjectCanvas.getDrawContext(), R.raw.plane);
planeSound.start();
它工作得很好,但唯一的问题是当我按很多次,然后MediaPlayer会给出一个错误错误(-19,0)。我搜索过但我无法找到解决方案。如果错误发生,MediaPlayer将不再播放任何声音,直到重新创建动作。游戏没有获得FC,只是错误(-19,0)。
我不知道如何修复它,希望有人能给我一些建议或解释。
答案 0 :(得分:0)
转到声音池,或重用一个媒体播放器实例,或在完成后释放每个实例。
完成MediaPlayer后,你应该调用release()来释放 资源。如果未释放,将导致过多的MediaPlayer实例 在一个例外中。
等
建议不再使用MediaPlayer对象 正在使用,立即调用release()以便使用的资源 与MediaPlayer对象关联的内部播放器引擎即可 马上发布。资源可以包括单例资源,例如 硬件加速组件和调用release()失败可能 导致MediaPlayer对象的后续实例回退到 软件实现或完全失败。一旦MediaPlayer 对象处于结束状态,它不能再使用,也没有 把它带回任何其他州的方式。
请参阅文档:http://developer.android.com/reference/android/media/MediaPlayer.html