2016-05-13 200 views
1

我正在製作一個應用程序,其中bgm從主頁面開始。但是當我開始學習時,我找不到一種方法來關閉它。如何從其他java關閉音樂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

做一個單獨的類並添加音樂播放代碼到它的停止和啓動,並使用所有的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 

要使用這個類將它添加到你想播放音樂的任何活動:

​​

您還可以使用service執行此任務,因爲service在後臺運行。您可以隨時在代碼中啓動和停止service