当前页面可开关音乐,退出当前页面再放回关闭却关不了怎么解决?
Page({ /** * 页面的初始数据 */ data: { music: null, isPlaying: false, switch1Checked: false }, onLoad() { const switch1Checked = wx.getStorageSync('switch1Checked') || false; // 从本地存储中读取开关状态 this.setData({switch1Checked: switch1Checked}); // 设置开关状态 }, playMusic: function() { if (!this.data.music) { this.setData({music: wx.createInnerAudioContext()}); } const music = this.data.music; music.src = 'http://music.163.com/song/media/outer/url?id=3950105.mp3'; music.autoplay = true; music.loop = true; music.play(); this.setData({isPlaying: true}); wx.setStorageSync('switch1Checked', true); // 保存开关状态到本地存储 }, pauseMusic: function () { if (this.data.music) { this.data.music.pause(); this.setData({isPlaying:false}); wx.setStorageSync('switch1Checked', false); // 保存开关状态到本地存储 } else { console.error("无法暂停音乐,因为未创建音频对象"); } }, switch1Change: function (e) { if (e.detail.value) { this.playMusic(); this.setData({switch1Checked: true}); } else { this.pauseMusic(); this.setData({switch1Checked:false}); } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { if (this.data.isPlaying) { this.playMusic(); } else { } }, /** * 生命周期函数--监听页面隐藏 */ onHide: function() { if (this.data.isPlaying) { // 如果正在播放音乐,则暂停音乐并保存状态到本地存储 this.pauseMusic(); wx.setStorageSync('switch1Checked', false); // 保存开关状态到本地存储 } else { // 如果未播放音乐,则不进行任何操作 // do nothing } }, })