我正在使用一个程序来播放大约1000个存储在“raw”中的短媒体文件。我的程序很简单。每次单击按钮时,它都会播放新的媒体文件。媒体文件的名称是从数组列表中读取的,我使用的是MediaPlayer
单击按钮时(仅一个按钮),这是我的代码:
@Override
public void onClick(View arg0) {
i++;
String fileName=soundArray.get(i);
int soundID=getResources().getIdentifier(fileName, "raw", getPackageName());
if(soundID>0){
MediaPlayer mySound=MediaPlayer.create(getApplicationContext(),soundID);
mySound.start();
}
}
此代码适用于前两次或三次按钮点击。在那之后,它崩溃了。您认为我的代码存在问题,我应该在我的情况下使用SoundPool吗?
答案 0 :(得分:0)
在启动媒体播放器之前使用prepare()
mySound.prepare();