Es gibt viele Aktivitäten in meiner App, und ich möchte, dass Musik im Hintergrund unabhängig spielt, sogar während der Aktivitäten wechseln. Wenn ich zu einer anderen Aktivität wechsle, stoppt die Musik für eine Weile und beginnt dann von Anfang an. Wie kann man Musik selbständig im Hintergrund spielen lassen?Keine sanfte Musik während Aktivitäten wechseln
Mein Code:
public class StartMusic extends AppCompatActivity {
MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
player = MediaPlayer.create(this, R.raw.musicname);
player.setLooping(true);
player.start();
}
protected void onDestroy() {
//other codes
super.onDestroy();
player.stop();
}
protected void onStop() {
super.onStop();
player.pause();
}
protected void onResume() {
super.onResume();
player.start();
}
}
Dann erweitere ich diese Akivität in weiteren Aktivitäten:
public class OpenerPlay extends StartMusic {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_opener_play);
String uripath = "android.resource://com.example.android.appname/" + R.raw.musicname;
VideoView videoView = (VideoView) findViewById(R.id.id);
Uri uri = Uri.parse(uripath);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
final Intent intent = new Intent (this, MainActivity.class);
final TextView button = (TextView) findViewById(R.id.bunton);
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
startActivity(intent);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
return true;
case MotionEvent.ACTION_UP:
return true;
}
return true;
};
});
}
}
Service verwenden, um die Musik zu starten. – Spartan