Controlling Audio player in Android Studio. Mastering Android Features

 

Controlling Audio Player in Android Studio

Audio Player's audio is played and stopped mainly using tags


.

btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer!=null) mediaPlayer.release();
if (btnPlay.getTag()!=null && btnPlay.getTag().toString().contains("NOT_PLAYING")){
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.offline_audio);
mediaPlayer.start();
btnPlay.setImageResource(R.drawable.stop);
btnPlay.setTag("PLAYING");
}else {
if (mediaPlayer!=null) mediaPlayer.release();
btnPlay.setImageResource(R.drawable.play);
btnPlay.setTag("NOT_PLAYING");
}


}
});


Now another problem is that when the song is finished playing, it plays alone The icon is not changing. To do this another set OnCompletionListener method Should be written.

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
btnPlay.setImageResource(R.drawable.play);
btnPlay.setTag("NOT_PLAYING");
}
});

Finally, if we write the complete code it will look like this.

btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer!=null) mediaPlayer.release();
if (btnPlay.getTag()!=null && btnPlay.getTag().toString().contains("NOT_PLAYING")){
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.offline_audio);
mediaPlayer.start();
btnPlay.setImageResource(R.drawable.stop);
btnPlay.setTag("PLAYING");

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
btnPlay.setImageResource(R.drawable.play);
btnPlay.setTag("NOT_PLAYING");
}
});
}else {
if (mediaPlayer!=null) mediaPlayer.release();
btnPlay.setImageResource(R.drawable.play);
btnPlay.setTag("NOT_PLAYING");
}


}
});










Post a Comment

Post a Comment (0)

Previous Post Next Post