[英]Android 2.2.1 crash on music start()
在我的应用中,我有以下代码:
@Override
public void onBackPressed() {
MediaPlayer buttonBack = MediaPlayer.create(this, R.raw.button_back);
buttonBack.start();
super.onBackPressed();
}
当您按下返回按钮时,基本上可以播放声音。 我已经在模拟器(Android 4.1.2)和Samsung Galaxy SIII Mini(Android 4.1.2)上进行了尝试。 一切正常,因此我已将应用程序发送给了拥有三星Galaxy Mini(Android 2.2.1)的朋友。 他告诉我说他有时在按下后退按钮时会崩溃,所以他给我发送了LogCat,它告诉我它在buttonBack.start()行上抛出了NullPointerException 。 。
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); * ,但是没有有任何作用。
这个问题有解决方案吗?
您可以解决此问题:
@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或尝试播放其他声音文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.