J'écris une classe supplémentaire comme ci-dessous pour "contrôler" la musique de différentes activités. Il devrait continuer à jouer quand je passerai de l'activité 1 à l'activité 2. Mais ça s'arrête même quand j'appelle backgroundmusik.start(); encore une fois dans ma deuxième activité:MadiaPlayer start-stop-pause entre les activités
public class Music {
public static MediaPlayer backgroundmusik;
public static int pausedSaver;
public static void playAudio(Context c, int id){
backgroundmusik = MediaPlayer.create(c, id);
backgroundmusik.setLooping(true);
backgroundmusik.start();
}
public static void playFrom() {
if(!backgroundmusik.isPlaying()) {
backgroundmusik.seekTo(pausedSaver);
backgroundmusik.setLooping(true);
backgroundmusik.start();
}
}
public static void playPause()
{
backgroundmusik.pause();
pausedSaver = backgroundmusik.getCurrentPosition();
}
public static void stopAudio(){
if(backgroundmusik.isPlaying()) {
backgroundmusik.stop();
}
}
}
Première activité:
public class WelcomeActivity extends AppCompatActivity{
Music musicPlayer;
int previous;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_layout);
musicPlayer.playAudio(this,R.raw.dingdong);
Intent intent3 = new Intent(getApplicationContext(), Main.class);
startActivity(intent3);
finish();
}
}
@Override
protected void onRestart() {
super.onRestart();
musicPlayer.playFrom();
}
@Override
protected void onStart() {
super.onStart();
musicPlayer.playFrom();
}
@Override
protected void onResume() {
super.onResume();
musicPlayer.playFrom();
}
@Override
protected void onPause() {
super.onPause();
musicPlayer.playPause();
}
@Override
protected void onStop() {
super.onStop();
musicPlayer.playPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
musicPlayer.stopAudio();
}
}
Deuxième activité:
public class Main extends AppCompatActivity{
Music musicPlayer;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
}
}
Merci pour votre aide.
pourquoi ne pas vous jouer de la musique dans la classe de service? –
https://stackoverflow.com/questions/8209858/android-background-music-service –
https://stackoverflow.com/questions/14151661/mediaplayer-service-android –