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 | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 46 insertions(+), 5 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 78a0922..b8cc818 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/BGMSettingActivity.kt @@ -3,6 +3,7 @@ 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 @@ -10,7 +11,10 @@ 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 { @@ -18,17 +22,22 @@ 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() { iv_back.setOnClickListener { finish() } iv_silent.setOnClickListener { sb_voice.progress = 0 } - banner_landscape.setOnBannerListener { data, position -> + banner_landscape.setOnBannerListener { _, position -> cardBannerAdapter.playPosition = position - cardBannerAdapter.notifyItemChanged(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) { @@ -42,10 +51,29 @@ } }) + sb_silent.setOnClickListener { + isSilent = !isSilent + sb_silent.setImageResource(if (!isSilent) R.mipmap.sw_on else R.mipmap.sw_off) + } + 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) + 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)) } } @@ -55,6 +83,9 @@ 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() } @@ -66,6 +97,8 @@ 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() } @@ -86,4 +119,12 @@ cardBannerAdapter.playPosition = -1 cardBannerAdapter.notifyItemChanged(p) } + + override fun onGetDuration(duration: Int) { + } + + override fun onPause() { + super.onPause() + player.stopPlayMusic(true) + } } -- Gitblit v1.7.1