سلام استاد
خب وقتی موزیک استپ میشه، تایمر هر 1 ثانیه هنوز در حال کار کردن و خوندن پوزیشن آهنگه، بهر نیست با متوقف شدن اهنگ، تایمر هم متوقف بشه؟
من این دوتا متد ساختم. نظر شما چیه استاد؟
private void pause() {
mediaPlayer.pause();
binding.playBtn.setImageResource(R.drawable.ic_play_32dp);
musicState = MusicState.PAUSE;
timer.cancel();
}
private void start() {
timer = new Timer();
mediaPlayer.start();
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
binding.positionTv.setText(Music.convertMillisToString(mediaPlayer.getCurrentPosition()));
binding.musicSlider.setValue(mediaPlayer.getCurrentPosition());
}
});
}
},1000,1000);
binding.musicSlider.setValueTo(mediaPlayer.getDuration());
binding.durationTv.setText(Music.convertMillisToString(mediaPlayer.getDuration()));
musicState = MusicState.PLAY;
binding.playBtn.setImageResource(R.drawable.ic_pause_24);
}