2016-05-13 15 views
1

Ich mache eine APP, in der bgm von der Hauptseite beginnt. Aber ich konnte keine Möglichkeit finden, es auszuschalten, wenn ich anfange zu lernen.Wie man Musik bgm (Hintergrundmusik) von anderem Java abstellt

Kann ich remote bgm aus verschiedener Java-Datei ausschalten

Dies ist mein erster 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(); 


} 


} 

ist dies die andere Datei Ich mag aus der Ferne von der bgm, wenn der Lernausgang Sitzung (als Schüler anfangen zu lernen)

@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); 
     } 
    }); 

} 

ich möchte R.id.hijaiyyah xml navigieren auch bgm

stoppen zu lernen

Bitte helfen Sie, ich bin ein Neuling XD

Antwort

1

eine Singleton-Klasse und Sie Musik fügen Sie Code in sie spielen zum Anhalten und Starten und dass Singletonklasse in allen 2 Aktivitäten für zB verwenden:

public class MusicManager { 

    private static MusicManager refrence = null; 

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

} 

eine öffentliche Methode zu dieser Singleton-Klasse hinzufügen Musik

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 

diese Klasse verwenden fügen Sie diese auf jede Aktivität, die Sie wollen Musik spielen, starten und zu stoppen:

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 

Sie können diese Aufgabe auch mit service ausführen, da service im Hintergrund ausgeführt wird. Sie können service jederzeit in Ihrem Code starten und stoppen.