MediaPlayer在单个设备上为空

时间:2017-06-08 11:09:47

标签: android audio

我在Play商店发布了一个应用程序,该应用程序在某些环境中响起。好吧,我有一个用户无法使用该应用程序,因为它听起来应该会中断。我在开发者网站上收到错误,并且它是一个nullpointerexception。

只发生在一个用户身上,这很奇怪。

private MediaPlayer getMediaPlayer() {
    Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
    if (alert == null) {
        alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        if (alert == null) {
            alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
        }
    }
    if (alert != null) {
        return MediaPlayer.create(getApplicationContext(), alert);
    } else {
        return MediaPlayer.create(getApplicationContext(),R.raw.android_notification);
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    player = getMediaPlayer();
}

private void sound() {
if (player == null) {
        player = getMediaPlayer();
    }
    if (!player.isPlaying()) {
        player.setLooping(true);
        player.start();
        totalSound++;
    }
....
}

当它到达player.isPlaying()总是在单个设备上抛出nullpointerexception,我不知道为什么。它是三星Galaxy 7 Edge,Android 7.0。

我做错了吗?

谢谢!

0 个答案:

没有答案