我正在开发一个Android应用程序,它是100个声音效果的集合。 在播放了25个声音后,我再也无法播放了,我必须关闭应用程序并等待几分钟然后打开应用程序,现在我可以播放其他声音。
final MediaPlayer mp81 = MediaPlayer.create(MainActivity.this, R.raw.a81);
我使用以下代码播放声音:
mp81.start();
我使用以下代码停止播放声音:
mp81.seekTo(0);
我还使用了stop()
方法,但问题仍然存在。
有什么其他方法我必须添加?
答案 0 :(得分: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 Document。