我是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();
}
}
答案 0 :(得分:2)
MediaPlayer mp=MediaPlayer.create(this, R.raw.animal_kit);
在这一行中你创建了另一个MediaPlayer变量而不是初始化你的类的字段。并且onDestroy()
将抛出NullPointerException,因为类的mp
字段为空。
只需将该行更改为:
mp=MediaPlayer.create(this, R.raw.animal_kit);