這裏是我的代碼:NullPointerException異常與MediaPlayer的
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文檔沒有解釋太多這個問題;我該怎麼辦?
編碼很糟糕。 –
對於每種聲音,您都不需要單獨的MediaPlayer。創建一個MediaPlayer,然後播放資產文件夾中的聲音 – Tony
@Tony我應該怎麼做?顯然,我必須在每次播放聲音時創建()MediaPlayer,並在完成後釋放()它。 – michelemarcon