lmw
2024-11-12 610a2aedd505bb4d8fb29f0bc6741ced74218bb0
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)
    }