【发布时间】:2015-06-08 03:40:53
【问题描述】:
我正在使用 MediaPlayer 播放我的音效,但在某个点(准确地说是 28 次播放)之后,MediaPlayer 不再播放。这就是我创建 MediaPlayer 的方式:
if(noteManager.rep.get((layer)).notes[j] == 0){
MediaPlayer mp;
switch (j){
case 0:
mp = MediaPlayer.create(InGame.this, R.raw.one);
break;
...
}}
在我打电话后:
mp.start();
此外,此代码每秒执行几次。在第 29 个音效之前一切正常,之后停止工作(没有声音)。我正在使用短 wav 文件。有什么想法吗?
【问题讨论】:
-
您是否在创建新实例之前停止并释放以前的
MediaPlayer实例?无论哪种方式,这似乎是SoundPool更适合的东西。 -
不,我不会在任何时候停止。我不想阻止它们,因为它们在下一个开始播放时还没有完成。基本上6场比赛快速连续。第五次通过它开始发挥作用。我也来看看 SoundPool
-
播放声音而不是音乐,您应该使用 SoundPool,而不是 MediaPlayer。 SoundPool 也适用于循环。