J'essaie de jouer de la musique avec un service d'arrière-plan. Tout d'abord, j'ai un toggle button
dans MainActivity pour jouer et arrêtant la musique, je crée BackgroundSoundService juste pour jouer de la musique dans toutes les activités de ne pas jouer en arrière-plan:jouer de la musique avec le service de fond
public class BackgroundSoundService extends Service {
private static final String TAG = "BackgroundSoundService";
MediaPlayer player;
public IBinder onBind(Intent arg0) {
Log.i(TAG, "onBind()");
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.vaporv2);
player.setLooping(true); // Set looping
player.setVolume(100,100);
Log.i(TAG, "onCreate() , service started...");
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return Service.START_STICKY;
}
public IBinder onUnBind(Intent arg0) {
Log.i(TAG, "onUnBind()");
return null;
}
public void onStop() {
Log.i(TAG, "onStop()");
}
public void onPause() {
if(player!=null && player.isPlaying()){
player.pause();
}
Log.i(TAG, "onPause()");
}
@Override
public void onDestroy() {
player.stop();
player.release();
Log.i(TAG, "onCreate() , service stopped...");
}
@Override
public void onLowMemory() {
Log.i(TAG, "onLowMemory()");
}
}
et MainActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MusicButton = (ToggleButton) findViewById(R.id.toggleButton);
MusicButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (MusicButton.isChecked()) {
//mediaPlayer.pause();
Intent myService = new Intent(MainActivity.this, BackgroundSoundService.class);
startService(myService);
} else {
//mediaPlayer.start();
Intent myService = new Intent(MainActivity.this, BackgroundSoundService.class);
stopService(myService);
}
}
});
Mon problème se produit lorsque je mets la musique en pause et la rejoue. La musique commence depuis le début quand je veux qu'elle continue là où elle s'est arrêtée. Mon deuxième problème est que je ne veux pas jouer de la musique en arrière-plan, je veux arrêter la musique lorsque l'application est en arrière-plan, s'il vous plaît toute aide.
Consultez ce [lien] (https://stackoverflow.com/questions/27685889/how-to-stop-service-of-music-background) pour arrêter la musique en arrière-plan. – Thracian