0

我正在编写一个程序来播放大约 1000 个存储在“原始”中的短媒体文件。我的程序很简单。每次单击按钮时,它都会播放一个新的媒体文件。媒体文件的名称是从数组列表中读取的,我正在使用 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 吗?

4

1 回答 1

0

在启动媒体播放器之前使用 prepare()

mySound.prepare();
于 2012-12-14T04:09:40.283 回答