3

我是 Android 应用程序的初学者。我添加了 MediaPlayer,它在应用程序启动时可以正确播放。如果用户在歌曲完成之前退出应用程序,我想停止在后台播放 MediaPlayer。请帮帮我!!!这是我下面的代码

package com.example.myappname;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MediaPlayer mp=MediaPlayer.create(this, R.raw.animal_kit);
    mp.start();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public void onDestroy() {
        mp.stop();
        mp.release();

    super.onDestroy();

}
}
4

1 回答 1

2
MediaPlayer mp=MediaPlayer.create(this, R.raw.animal_kit);

在这一行中,您正在创建另一个 MediaPlayer 变量,而不是初始化您的类的字段。onDestroy()由于mp您的类的字段为空,因此将抛出 NullPointerException 。

只需将行更改为:

mp=MediaPlayer.create(this, R.raw.animal_kit);
于 2013-06-30T04:25:31.373 回答