From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期四, 24 四月 2025 10:45:55 +0800 Subject: [PATCH] save --- app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt | 126 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 120 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..b8cc818 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,130 @@ 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.MainActivity +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 com.sinata.xqmuse.utils.event.EmptyEvent +import kotlinx.android.synthetic.main.activity_bgm.* +import org.greenrobot.eventbus.EventBus +import org.jetbrains.anko.startActivity +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 fromPrivacy by lazy { intent.getBooleanExtra("fromPrivacy",false) } //从私人定制过来,设置完成需要发送停止引导的事件 + private val player by lazy { AudioUtils() } + private var isSilent = false //true:bgm静音 override fun initClick() { - TODO("Not yet implemented") + iv_back.setOnClickListener { finish() } + iv_silent.setOnClickListener { + sb_voice.progress = 0 + } + banner_landscape.setOnBannerListener { _, position -> + cardBannerAdapter.playPosition = position + cardBannerAdapter.notifyDataSetChanged() + player.startPlayMusic(this,list[position].audioFile) + if (banner_landscape.currentItem != position){ + banner_landscape.setCurrentItem(position,true) + } + } + 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?) { + } + }) + + sb_silent.setOnClickListener { + isSilent = !isSilent + sb_silent.setImageResource(if (!isSilent) R.mipmap.sw_on else R.mipmap.sw_off) + } + + tv_action.setOnClickListener { + if (list.isNotEmpty()){ //存bgm和bg + tv_action.isEnabled = false + HttpManager.saveUserHomeBackgroundMusic(list[banner_landscape.currentItem].id).request(this,success = {_,_-> + //存音量 +// SPUtils.instance().put(Const.User.VOLUME,sb_voice.progress).apply() + SPUtils.instance().put(Const.User.VOLUME,if (isSilent) 0 else 50).apply() + SPUtils.instance().put(Const.User.BG,list[banner_landscape.currentItem].imageUrl) + .put(Const.User.BGM,list[banner_landscape.currentItem].audioFile).apply() + EventBus.getDefault().post(EmptyEvent(Const.EventCode.CHANGE_BGM)) + toast("保存成功") + startActivity<MainActivity>() + }){_,_-> + tv_action.isEnabled = true + } + } + if (fromPrivacy) + EventBus.getDefault().post(EmptyEvent(Const.EventCode.FINISH_GUIDE_AUDIO)) + } } 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) + isSilent = SPUtils.instance().getInt(Const.User.VOLUME,50) == 0 + sb_silent.setImageResource(if (!isSilent) R.mipmap.sw_on else R.mipmap.sw_off) +// player.setVolume(sb_voice.progress.toFloat()/100) + 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 + }else if (list.size>2){ + banner_landscape.currentItem = 1 + } + 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) + } + + override fun onGetDuration(duration: Int) { + } + + override fun onPause() { + super.onPause() + player.stopPlayMusic(true) + } } -- Gitblit v1.7.1