Java 当应用程序处于后台时,如何在BaseActivity中使用onPause停止音乐(MediaPlayer)

Java 当应用程序处于后台时,如何在BaseActivity中使用onPause停止音乐(MediaPlayer),java,android,android-activity,android-music-player,onpause,Java,Android,Android Activity,Android Music Player,Onpause,我可以和这个班一起演奏音乐 public class MusicPlayer extends AppCompatActivity { MediaPlayer player; public void play(Context c, @RawRes int sound){ if (player == null){ player = MediaPlayer.create(c, sound); } player.

我可以和这个班一起演奏音乐

public class MusicPlayer extends AppCompatActivity {

    MediaPlayer player;

    public void play(Context c, @RawRes int sound){
        if (player == null){
            player = MediaPlayer.create(c, sound);
        }
        player.start();
    }
所以我的活动可以通过这个onCreate播放音乐

private MusicPlayer playboy = new MusicPlayer();

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        playboy.play(this, R.raw.song);
    }
它工作正常,但当我的应用程序在后台时,它仍然可以继续播放。。。 我知道如何停止和暂停,但我如何不在活动中,而是在所有活动的基本活动中执行此操作? 我的基本活动如下所示

public class BaseActivity extends AppCompatActivity {

    MediaPlayer player;

    @Override
    protected void onPause() {
        super.onPause();
        if (player != null) {
            player.pause();
        }
    }
public class MusicPlayer extends AppCompatActivity {



    @Override
    protected void onPause() {
        super.onPause();
// pause media player in onPause
        if (player != null) {
            player.pause();
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
// play song in oncreate()
        player.play(this, R.raw.song);
    }

}
我的活动扩展了基本活动


但音乐仍在后台播放…

您需要在基本活动中像这样初始化媒体播放器

public class BaseActivity extends AppCompatActivity {

    MediaPlayer player;


    public void play(Context c, @RawRes int sound){
            if (player == null){
                player = MediaPlayer.create(c, sound);
            }
            player.start();
        }

}
现在你的音乐活动应该是这样的

public class BaseActivity extends AppCompatActivity {

    MediaPlayer player;

    @Override
    protected void onPause() {
        super.onPause();
        if (player != null) {
            player.pause();
        }
    }
public class MusicPlayer extends AppCompatActivity {



    @Override
    protected void onPause() {
        super.onPause();
// pause media player in onPause
        if (player != null) {
            player.pause();
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
// play song in oncreate()
        player.play(this, R.raw.song);
    }

}