En este caso tendremos que hacer uso de los servicios en Android el cual consiste en crear una clase que herede de Service para así sobreescribir ciertos métodos que nos ayudarán a manejar procesos en segundo plano con el fin que mejor nos parezca.
Para este caso, aquí les dejo el código más importante del ejemplo.
package com.codideep.app;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.support.annotation.Nullable;
public class ServiceAudio extends Service
{
private Context thisContext=this;
private MediaPlayer mediaPlayer;
@Override
public void onCreate()
{
}
@Override
public int onStartCommand(Intent intent, int flag, int idProcess)
{
mediaPlayer=MediaPlayer.create(thisContext, R.raw.madre);
mediaPlayer.start();
return START_STICKY;
}
@Override
public void onDestroy()
{
mediaPlayer.stop();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
El código anterior sólo es la definición del servicio que hereda de Service, sin embargo, existen otros puntos que deben ser tratados apra manejar esto. Seguidamente se les deja el video donde se explica cada parte de esto.