0
So I have the following Activity below.
In it, I have a radio player.
However, when I minimize the App to see something else, such as using the calculator, the player stops playing.
I’m using the streaming of Rádio Capital UK.
In the App theirs,
https://play.google.com/store/apps/details?id=com.thisisglobal.player&hl=en_GB
this failure does not occur.
What needs to be done so that my player also does not stop when minimizing the App?
Note: The App’s of Radios Transamerica and Young Pan also stop when minimizing!
package carcleo.com.radiosingular;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import java.io.IOException;
public class principal extends AppCompatActivity {
    private String url_radio= "rtsp://cdn-the-2.musicradio.com:80/LiveAudio/Capital";
    private ProgressBar playSeekBar;
    private MediaPlayer player;
    private TextView tvRadioUrl;
    private Button buttonPlay;
    private Button buttonStop;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.principal);
        initializeUIElements();
        initializeMediaPlayer();
    }
    private void initializeUIElements() {
        playSeekBar = (ProgressBar) findViewById(R.id.progressBar1);
        buttonPlay  = (Button)      findViewById(R.id.buttonPlay);
        buttonStop  = (Button)      findViewById(R.id.buttonStop);
        tvRadioUrl  = (TextView)    findViewById(R.id.textViewRadioUrl);
        playSeekBar.setMax(100);
        playSeekBar.setVisibility(View.INVISIBLE);
        playSeekBar.setIndeterminate(true);
        buttonStop.setEnabled(true);
        buttonPlay.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startPlaying();
            }
        });
        buttonStop.setEnabled(false);
        buttonStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                stopPlaying();
            }
        });
        tvRadioUrl.setText("Radio url : "+url_radio);
    }
    public void onClick(View v) {
        if (v == buttonPlay) {
            startPlaying();
        } else if (v == buttonStop) {
            stopPlaying();
        }
    }
    private void startPlaying() {
        buttonStop.setEnabled(true);
        buttonPlay.setEnabled(false);
        playSeekBar.setVisibility(View.VISIBLE);
        player.prepareAsync();
        player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            public void onPrepared(MediaPlayer mp) {
                player.start();
            }
        });
    }
    private void stopPlaying() {
        if (player.isPlaying()) {
            player.stop();
            player.release();
            initializeMediaPlayer();
        }
        buttonPlay.setEnabled(true);
        buttonStop.setEnabled(false);
        playSeekBar.setIndeterminate(true);
        playSeekBar.setVisibility(View.INVISIBLE);
    }
    private void initializeMediaPlayer() {
        player = new MediaPlayer();
        try {
            player.setDataSource(url_radio);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        player.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
            public void onBufferingUpdate(MediaPlayer mp, int percent) {
                playSeekBar.setIndeterminate(false);
                playSeekBar.setSecondaryProgress(100);
                Log.i("Buffering", "" + percent);
            }
        });
    }
    @Override
    protected void onPause() {
        super.onPause();
        if (player.isPlaying()) {
            player.pause();
        }
    }
}
						
Hello, you have to make your application run in the background all the time, so it will not stop running and the streaming is always active. Here is a link, which talks about what you need ! https://medium.com/android-dev-br/workingcom-tasks-em-background-3d4da889ddfa
– Thiago Oliveira
Using Assynctasck?
– Carlos Rocha