From 2f204867ad034d3a95ba9acc112d6507f296447b Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 23 十月 2024 18:20:43 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt |   85 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 79 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt
index babd05f..78a0922 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt
@@ -1,16 +1,89 @@
 package com.sinata.xqmuse.ui
 
-class BGMSettingActivity :TransparentStatusBarActivity(){
-    override fun setContentView(): Int {
-        TODO("Not yet implemented")
-    }
+import android.widget.SeekBar
+import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.utils.SPUtils
+import com.sinata.xqmuse.R
+import com.sinata.xqmuse.network.HttpManager
+import com.sinata.xqmuse.network.entity.BGMBean
+import com.sinata.xqmuse.network.request
+import com.sinata.xqmuse.ui.home.adapter.BgmBannerAdapter
+import com.sinata.xqmuse.utils.AudioUtils
+import com.sinata.xqmuse.utils.Const
+import kotlinx.android.synthetic.main.activity_bgm.*
+import org.jetbrains.anko.toast
+
+class BGMSettingActivity :TransparentStatusBarActivity(), AudioUtils.OnAudioStatusUpdateListener {
+    override fun setContentView() = R.layout.activity_bgm
+
+    private val list = arrayListOf<BGMBean>()
+    private val cardBannerAdapter by lazy { BgmBannerAdapter(list,this) }
+    private val player by lazy { AudioUtils() }
 
     override fun initClick() {
-        TODO("Not yet implemented")
+        iv_back.setOnClickListener { finish() }
+        iv_silent.setOnClickListener {
+            sb_voice.progress = 0
+        }
+        banner_landscape.setOnBannerListener { data, position ->
+            cardBannerAdapter.playPosition = position
+            cardBannerAdapter.notifyItemChanged(position)
+            player.startPlayMusic(this,list[position].audioFile)
+        }
+        sb_voice.setOnSeekBarChangeListener(object :SeekBar.OnSeekBarChangeListener{
+            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
+                player.setVolume(progress.toFloat()/100)
+            }
+
+            override fun onStartTrackingTouch(seekBar: SeekBar?) {
+            }
+
+            override fun onStopTrackingTouch(seekBar: SeekBar?) {
+            }
+        })
+
+        tv_action.setOnClickListener {
+            SPUtils.instance().put(Const.User.VOLUME,sb_voice.progress).put(Const.User.BGM,list[banner_landscape.currentItem].audioFile).apply()
+            toast("保存成功")
+            player.startPlayMusic(this,list[banner_landscape.currentItem].audioFile)
+        }
     }
 
     override fun initView() {
-        TODO("Not yet implemented")
+        titleBar.gone()
+        banner_landscape.adapter = cardBannerAdapter
+        banner_landscape.setBannerGalleryEffect(110,12,0.85f)
+        player.setOnAudioStatusUpdateListener(this)
+        sb_voice.progress = SPUtils.instance().getInt(Const.User.VOLUME,50)
+        getData()
     }
 
+    private fun getData(){
+        HttpManager.getHomeBackgroun().request(this){_,data->
+            list.clear()
+            list.addAll(data?: arrayListOf())
+            val bgm = SPUtils.instance().getString(Const.User.BGM)
+            val indexOf = list.map { it.audioFile }.indexOf(bgm)
+            if (indexOf>=0){
+                banner_landscape.currentItem = indexOf
+            }
+            cardBannerAdapter.notifyDataSetChanged()
+        }
+    }
+
+    override fun onUpdate(db: Double, time: Long) {
+
+    }
+
+    override fun onStop(filePath: String?) {
+    }
+
+    override fun onStartPlay() {
+    }
+
+    override fun onFinishPlay() {
+        val p = cardBannerAdapter.playPosition
+        cardBannerAdapter.playPosition = -1
+        cardBannerAdapter.notifyItemChanged(p)
+    }
 }

--
Gitblit v1.7.1