I can not reproduce the sound when pressing the button, any possible solution? I use SDK 30.
if(playingSongPosition !=position)
imageView.setImageResource(R.drawable.icon_play);
else
imageView.setImageResource(R.drawable.icon_pause);
constraintLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(TrimAudioActivity.this,SelectSectionActivity.class);
intent.putExtra(getResources().getString(R.string.music_file_name),getItem(position));
intent.putExtra(getResources().getString(R.string.selected_song_uri),getUri(position));
intent.putExtra(getResources().getString(R.string.duration),getDuration(position));
startActivity(intent);
}
});
final View finalView = view;
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentTrack=position;
if(prevTrack==currentTrack){
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
mediaPlayer.seekTo(0);
imageView.setImageResource(R.drawable.icon_play);
playingSongPosition =-1;
}else{
mediaPlayer.start();
imageView.setImageResource(R.drawable.icon_pause);
}
}else{
if(prevTrack!=-1) {
isCallExplicit=true;
// Toast.makeText(ContactsRingtoneActivity.this, "prev:"+prevTrack+" current:"+currentTrack, Toast.LENGTH_SHORT).show();
ImageView prevImageView = (ImageView) getView(prevTrack, prevView, parent).findViewById(R.id.imageViewPlayPauseMyAudioItem);
prevImageView.setImageResource(R.drawable.icon_play);
isCallExplicit=false;
}
mediaPlayer.stop();
mediaPlayer.reset();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
playingSongPosition =position;
imageView.setImageResource(R.drawable.icon_pause);
}
});
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
imageView.setImageResource(R.drawable.icon_play);
mediaPlayer.seekTo(0);
playingSongPosition =-1;
}
});
try {
mediaPlayer.setDataSource(TrimAudioActivity.this,getUri(position));
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
prevTrack=currentTrack;
prevView= finalView;
}
}
});
return view;
}
}
@Override
protected void onStop() {
super.onStop();
mediaPlayer.stop();
mediaPlayer.reset();
mediaPlayer.release();
playingSongPosition =-1;
}
}