Android 2.2.1在音乐启动时崩溃()

时间:2014-03-23 20:58:05

标签: android audio

在我的应用中,我有这段代码:

@Override
public void onBackPressed() {
    MediaPlayer buttonBack = MediaPlayer.create(this, R.raw.button_back);   
    buttonBack.start();
    super.onBackPressed();
}

当您按下按钮时基本上播放声音。我已经在我的模拟器(Android 4.1.2)和我的三星Galaxy SIII Mini(Android 4.1.2)上尝试过它。一切正常,所以我已经将应用程序发送给了我的朋友,他的三星Galaxy Mini(Android 2.2.1)。他告诉我,当他回按钮时,他有时会崩溃,所以他给我发了LogCat,告诉我它在 按钮上按 NullPointerException .start();

LogCat的图片:http://i.stack.imgur.com/Jgz5t.jpg

我尝试将 * MediaPlayer buttonBack = MediaPlayer.create(this,R.raw.button_back); * 更改为 * MediaPlayer buttonBack = MediaPlayer.create(getApplicationContext( ),R.raw.button_back); * ,但它没有任何效果。

有关此问题的任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以解决此问题:

@Override
public void onBackPressed() {
    MediaPlayer buttonBack = MediaPlayer.create(this, R.raw.button_back);   
    if (buttonBack != null) {
        buttonBack.start();
    }
    super.onBackPressed();
}

有时候MediaPlayer.create会返回null。 但我想你可以忍受只是不播放MediaPlayer.create返回null的情况。或者,您可以尝试使用SoundPool或尝试播放不同的声音文件。