SeekBar and media player in android

前端 未结 12 2025
天涯浪人
天涯浪人 2020-11-28 03:13

I have a simple player and recorder. Everything works great but have a one problem. I want to add seek bar to see progress in playing record and use this seek bar to set pl

12条回答
  •  春和景丽
    2020-11-28 04:01

    Code in Kotlin:

    var updateSongTime = object : Runnable {
                override fun run() {
                    val getCurrent = mediaPlayer?.currentPosition
                    startTimeText?.setText(String.format("%d:%d",
                            TimeUnit.MILLISECONDS.toMinutes(getCurrent?.toLong() as Long),
                            TimeUnit.MILLISECONDS.toSeconds(getCurrent?.toLong()) -
                                    TimeUnit.MINUTES.toSeconds(
                                            TimeUnit.MILLISECONDS.toMinutes(getCurrent?.toLong()))))
                    seekBar?.setProgress(getCurrent?.toInt() as Int)
                    Handler().postDelayed(this, 1000)
                }
            }
    

    For changing media player audio file every second

    If user drags the seek bar then following code snippet can be use

    Statified.seekBar?.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
                override fun onProgressChanged(seekBar: SeekBar, i: Int, b: Boolean) {
                    if(b && Statified.mediaPlayer != null){
                        Statified.mediaPlayer?.seekTo(i)
                    }
    
                }
                override fun onStartTrackingTouch(seekBar: SeekBar) {}
                override fun onStopTrackingTouch(seekBar: SeekBar) {}
            })
    

提交回复
热议问题