CircularSeekBar icon indicating copy to clipboard operation
CircularSeekBar copied to clipboard

Seek bar jumping backwards near end

Open kaori92 opened this issue 4 years ago • 1 comments

Hello,

Great library! Just one issue, I noticed that sometimes near the end the seek bar is jumping backwards, I'm using it with MediaPlayer, here is my code:

fun setupSeekBar(audioSeekBar: CircularSeekBar) {
    audioSeekBar.setOnSeekBarChangeListener(object : CircularSeekBar.OnCircularSeekBarChangeListener {

        override fun onProgressChanged(seekBar: CircularSeekBar, progress: Float, b: Boolean) {
            logger.logError("progress: $progress max: ${seekBar.max}")
        }

        override fun onStartTrackingTouch(seekBar: CircularSeekBar) {
            model.getMediaPlayer().seekTo(seekBar.progress.toInt())
        }

        override fun onStopTrackingTouch(seekBar: CircularSeekBar) {}
    })
}


fun setupAudioProgressBar(progressBar: CircularSeekBar, handler: Handler) {
    progressBar.let {
        it.max = model.getMediaPlayer().duration.toFloat()
        val interval: Long = 100
        val statusChecker = object : Runnable {
            override fun run() {
                it.progress = model.getMediaPlayer().currentPosition.toFloat()
                handler.postDelayed(this, interval)
            }
        }

        statusChecker.run()
    }
}

and here are logs of progress and max: (in the beginning progress is always increasing) progress: 5112.0 max: 5400.0 progress: 5256.0 max: 5400.0 progress: 5328.0 max: 5400.0 progress: 5256.0 max: 5400.0

kaori92 avatar Jul 12 '20 20:07 kaori92

fun setupSeekBar(audioSeekBar: CircularSeekBar) { audioSeekBar.setOnSeekBarChangeListener(object : CircularSeekBar.OnCircularSeekBarChangeListener { override fun onProgressChanged(seekBar: CircularSeekBar, progress: Float, b: Boolean) { logger.logError("progress: $progress max: ${seekBar.max}")

    }

    override fun onStartTrackingTouch(seekBar: CircularSeekBar) {
      
    }

    override fun onStopTrackingTouch(seekBar: CircularSeekBar) {
 
    }
})

}

fun setupAudioProgressBar(progressBar: CircularSeekBar, handler: Handler) { val mediaPlayer = model.getMediaPlayer() progressBar.max = mediaPlayer.duration.toFloat()

val interval: Long = 100
val statusChecker = object : Runnable {
    override fun run() {
        val currentPosition = mediaPlayer.currentPosition.toFloat()
        progressBar.progress = currentPosition
        handler.postDelayed(this, interval)
    }
}

handler.post(statusChecker)

}

elonmasai7 avatar Mar 01 '24 17:03 elonmasai7