应用程序退出时,MediaPlayer不会停止

时间:2013-06-30 04:14:03

标签: java android media-player

我是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();

}
}

1 个答案:

答案 0 :(得分:2)

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

在这一行中你创建了另一个MediaPlayer变量而不是初始化你的类的字段。并且onDestroy()将抛出NullPointerException,因为类的mp字段为空。

只需将该行更改为:

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