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