'Adroid Audio Player make one audio play one at atime

I am making an audio app where in the main Activity i have a couple of buttons that each opens its own activity where there is a play/pause button. So the problem is, when i play one audio without pausing it then i play another the previous audio doest stop palying, also when the audio is still playing and i exit and get back to the same activity the pause button changes back to play button, i want it to remain pause button while the audio is still playing.can someone plz send me the codes to fix this problems.

MAIN ACTIVITY

 buttonWritingasmr.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
             String audio = "asmr";
             switch (view.getId()) {
                 case R.id.writingasmr:
                     Toast.makeText(MainActivity.this, "Writting Asmr", Toast.LENGTH_SHORT).show();
                     audio = "headmassage";
                     mp = MediaPlayer.create(MainActivity.this, R.raw.writing);
                     mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                         @Override
                         public void onPrepared(MediaPlayer mediaPlayer) {
                             mp.start();
                         }
                     });
                     mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                         @Override
                         public void onCompletion(MediaPlayer mediaPlayer) {
                             mp.release();
                         }
                     });
                     break;
             }
             Intent intent = new Intent(MainActivity.this, Activity2.class);
             intent.putExtra("audiofilename", audio);
             startActivity(intent);
         }
     });

     buttonNosignalradio.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
             String audio = "asmr";
             switch (view.getId()) {
                 case R.id.nosignalradio:
                     Toast.makeText(MainActivity.this, "No Signalradio", Toast.LENGTH_SHORT).show();
                     audio = "headmassage";
                     mp = MediaPlayer.create(MainActivity.this, R.raw.nosignalradio);
                     mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                         @Override
                         public void onPrepared(MediaPlayer mediaPlayer) {
                             mp.start();
                         }
                     });
                     mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                         @Override
                         public void onCompletion(MediaPlayer mediaPlayer) {
                             mp.release();
                         }
                     });
                     break;
             }
             Intent intent = new Intent(MainActivity.this, Activity2.class);
             intent.putExtra("audiofilename", audio);
             startActivity(intent);
         }
     });

ACTIVITY 2 ONE OF THE MEDIA ACTIVITY

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_2);
    getSupportActionBar().hide();//This line hides the action bar

    Intent intent = getIntent();
    String audiofilename = intent.getExtras().getString("audiofilename");  

        Log.i("message", audiofilename);

    mediaPlayer = MediaPlayer.create(this, getResources().getIdentifier(audiofilename, "raw", getPackageName()));


    mediaPlayer.setLooping(true);
    playIcon = (ImageView) findViewById(R.id.playIcon);
    playIcon.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.pause();
                playIcon.setImageResource(R.drawable.ic_baseline_play_circle_outline_24);
            }else {
                mediaPlayer.start();
                playIcon.setImageResource(R.drawable.ic_baseline_pause_circle_outline_24);
            }


        }}
    });
}

}



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source