これが私のコードです:
MediaPlayer a1,a2,a3...a24;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.a);
a1 = MediaPlayer.create(this, R.raw.a1);
a2 = MediaPlayer.create(this, R.raw.a2);
a3 = MediaPlayer.create(this, R.raw.a3);
...
a24 = MediaPlayer.create(this, R.raw.a24);
}
private void play(MediaPlayer p) {
p.start();
}
問題は、a1、a2、a3 をプレイしている場合はすべて正しいのですが、a24 をプレイしている場合は NullPointerException が発生することです。24 個の音声ファイルのサイズはそれぞれ約 25Kb ですので、メモリ消費の問題ではないと思います。プレイを開始する前に遅延を入れてみましたが、何も役に立たないようです。Android のドキュメントでは、これについてあまり説明されていません。私は何をすべきか?