From 610a2aedd505bb4d8fb29f0bc6741ced74218bb0 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 12 十一月 2024 13:46:37 +0800 Subject: [PATCH] fix bugs --- app/src/main/java/com/sinata/xqmuse/ui/home/VoiceDetailActivity.kt | 38 +++++++++++++++++++++++++++++++------- 1 files changed, 31 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/home/VoiceDetailActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/home/VoiceDetailActivity.kt index 437ba5d..3b556e5 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/home/VoiceDetailActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/home/VoiceDetailActivity.kt @@ -2,6 +2,7 @@ import android.os.CountDownTimer import android.util.Log +import android.widget.SeekBar import androidx.core.os.bundleOf import cn.sinata.xldutils.gone import cn.sinata.xldutils.utils.SPUtils @@ -22,12 +23,12 @@ import com.sinata.xqmuse.ui.TransparentStatusBarActivity import com.sinata.xqmuse.utils.Const import com.sinata.xqmuse.utils.event.EmptyEvent +import com.sinata.xqmuse.utils.event.IntEvent import com.sinata.xqmuse.utils.interfaces.StringCallback import com.umeng.socialize.bean.SHARE_MEDIA import kotlinx.android.synthetic.main.activity_voice_detail.* import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe -import org.jetbrains.anko.toast class VoiceDetailActivity:TransparentStatusBarActivity() { override fun setContentView() = R.layout.activity_voice_detail @@ -104,6 +105,25 @@ val volumeDialog = VolumeDialog() volumeDialog.showAllowingStateLoss(supportFragmentManager,"vol") } + + sb_voice.setOnSeekBarChangeListener(object :SeekBar.OnSeekBarChangeListener{ + override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { + } + + override fun onStartTrackingTouch(seekBar: SeekBar?) { + if (MainActivity.playing){ //播放中,让其暂停,并让按钮无法点击 + iv_play.isEnabled = false + EventBus.getDefault().post(EmptyEvent(Const.EventCode.PAUSE_OR_RESUME_THINK)) + } + } + + override fun onStopTrackingTouch(seekBar: SeekBar?) { + if (!MainActivity.playing){//暂停时,让其播放并让按钮恢复可点击 + EventBus.getDefault().post(IntEvent(Const.EventCode.THINK_SEEK_PROGRESS,seekBar?.progress?:0)) + iv_play.isEnabled = true + } + } + }) } override fun initView() { @@ -116,14 +136,18 @@ tv_name.text = meditationTitle tv_subtitle.text = detailDescription tv_comment.text = questionCount - if (MainActivity.voice?.id == id&&MainActivity.playing) //是本音频并且播放中 - iv_play.setImageResource(R.mipmap.player_pause) - else - iv_play.setImageResource(R.mipmap.play_detail) val seconds = (if (MainActivity.voice?.id == id) meditationSecondList?.getOrNull(MainActivity.index) else meditationSecondList?.firstOrNull() )?: 0 tv_total.text = "%02d:%02d".format(seconds/60,seconds%60) - if (MainActivity.voice?.id == id&&MainActivity.finishTime!=0L)//有倒计时存在 - startTimer() + sb_voice.max = seconds + if (MainActivity.voice?.id == id){ //主页播放的正是本音频 + if (MainActivity.finishTime!=0L)//有倒计时存在 + startTimer() + if (MainActivity.playing) //如果在播放中,按钮变为暂停 + iv_play.setImageResource(R.mipmap.player_pause) + //恢复进度 + tv_progress.text = "%02d:%02d".format(MainActivity.currentPosition/1000/60,MainActivity.currentPosition/1000%60) + sb_voice.progress = MainActivity.currentPosition/1000 + } } EventBus.getDefault().register(this) } -- Gitblit v1.7.1