mediaplayer.start()仅在摩托罗拉Droid设备上崩溃

时间:2010-08-09 21:30:45

标签: java android

我在Android市场上传了一个音板。该应用程序在市场上表现相当不错(下载量超过50,000),但开发人员控制台报告我发现了一个错误,这让我很烦恼。

所有崩溃报告仅来自一个设备 - 摩托罗拉Droid。我已经查看了错误实际上是什么,当我为MediaPlayer类调用start()方法时会发生这种情况。我得到以下内容:

显示java.lang.NullPointerException:

at com.meeg.soundit.Soundboard.playAudio(Soundboard.java:2517)

方法playAudio的代码如下,第2517行是mp.start():

public void playAudio(int resid){
    final MediaPlayer mp = MediaPlayer.create(this, resid);
    mp.start();
    mp.setOnCompletionListener(new OnCompletionListener() {
        public void onCompletion(MediaPlayer arg0) {
            mp.release();
        }
    });
}

就像我说的,我的音板有超过50,000次下载,它有80个报告,全部来自摩托罗拉Droid。这是我应该忽略的东西,因为80个报告与使用它的人数相比并不多,Moto Droid和MediaPlayer有问题,还是我的代码有问题?

1 个答案:

答案 0 :(得分:1)

在某些版本中,这是一个问题,导致资源回放不能正常工作。但是您应该修复代码以检查null并向用户显示相应的消息。