0

「生」に保存されている約1000の短いメディアファイルで再生するプログラムを作成しています。私のプログラムはシンプルです。ボタンがクリックされるたびに、新しいメディア ファイルが再生されます。メディア ファイルの名前は配列リストから読み取られ、MediaPlayer を使用しています

ボタンがクリックされたときのコードは次のとおりです(ボタンは1つだけ):

@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();
    }
}

このコードは、最初の 2 回または 3 回のボタン クリックで正常に動作します。その後、クラッシュします。私のコードに問題があると思いますか? 私の場合、SoundPool を使用する必要がありますか?

4

1 に答える 1

0

メディアプレーヤーを起動する前にprepare()を使用してください

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