1

我正在开发一个包含 100 种音效的 android 应用程序。在我播放了 25 个声音之后,我不能再播放了,我必须关闭应用程序并等待几分钟然后打开应用程序,现在我可以播放其他声音了。

final MediaPlayer mp81 = MediaPlayer.create(MainActivity.this, R.raw.a81);

我使用以下代码播放声音:

mp81.start();

我使用以下代码停止播放声音:

mp81.seekTo(0);

我也使用stop()了方法,但问题仍然存在。我还需要添加其他方法吗?

4

1 回答 1

2

请注意:考虑使用SoundPool播放短声音。

MediaPlayer关于您的用例:您使用静态方法初始化您的实例,create()这意味着您MediaPlayer为每个声音创建一个新对象,而不是重用现有实例并仅更改数据源。这可能会对您的应用程序的性能产生负面影响。我建议你为你的声音创建一个路径数组,然后MediaPlayer像这样实例化:

MediaPlayer mp = new MediaPlayer();
try {
     mp.setDataSource(yourArray[x]);
     mp.prepare();
     mp.start();
  } catch(Exception e){
    e.printStackTrace();
  }

有关详细信息,请参阅MediaPlayer 文档

于 2013-03-08T10:50:49.380 回答