如何从其他java关闭音乐bgm(背景音乐)

时间:2016-05-13 03:28:14

标签: java android android-studio background-music

我正在制作一个应用程序,其中bgm从主页开始。但是在开始学习时我无法找到解决方法。

我可以从不同的java文件远程关闭bgm

这是我的第一个java,mainmenu.class

public class mainmenu extends AppCompatActivity {
MediaPlayer bkgrdmsc;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainmenu);
    Button btn = (Button) findViewById(R.id.mula);
    assert btn != null;
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent ke_belajar_latihan = new Intent(getApplicationContext(), taqi.mengaji.belajar_latihan.class);
            startActivity(ke_belajar_latihan);

        }
    });

    bkgrdmsc = MediaPlayer.create(this, R.raw.song);
    bkgrdmsc.setLooping(true);
    bkgrdmsc.start();


}


}

这是我想在开始学习课程时远程关闭bgm的另一个文件(作为学生开始学习)

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

    Button btn=(Button) findViewById(R.id.hijaiyyah);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent ke_hijaiyah=new Intent(getApplicationContext(),taqi.mengaji.hijaiyyah.class);
            startActivity(ke_hijaiyah);
        }
    });

}

我希望R.id.hijaiyyah导航学习xml也停止bgm

请帮助我成为新手XD

1 个答案:

答案 0 :(得分:1)

创建一个单例类并将音乐播放代码添加到其中以停止和启动并在所有2个活动中使用该单例类,例如:

public class MusicManager {

    private static MusicManager refrence = null;

    public static MusicManager getInstance(){
        if(refrence == null){
            refrence = new MusicManager ();
        }
        return refrence;
    }

}

为此单例类添加公共方法以启动和停止音乐

public void initalizeMediaPlayer(Context context, int musicId){

// add initalization of media player in it and loop it 
MediaPlayer bkgrdmsc;
bkgrdmsc = MediaPlayer.create(this, R.raw.song);
bkgrdmsc.setLooping(true);
}

public void startPlaying(){
bkgrdmsc.start();
}

public void stopPlaying(){
bkgrdmsc.stop();
}

//Add stuff like pausing and resuming if you desire

要使用此课程,请将其添加到您要播放音乐的任何活动中:

    MusicManager.getInstance().initalizeMediaPlayer(this, R.raw.menu); // to initalize of media player
    MusicManager.getInstance().startPlaying();// to start playing music
    MusicManager.getInstance().stopPlaying(); // to stop playing music

您还可以使用service执行此任务,因为service在后台运行。您可以随时在代码中启动和停止service