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