ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 音乐的事件 ## wx.getBackgroundAudioManager() 获取后台音乐播放状态 ## onPlay监听音频播放事件 ## onPause监听音频暂停事件 ## onStop监听音频停止事件 ## onEnded监听音频自然播放至结束的事件 # 实例 ## //点击控制音乐播放 ``` playmusic(){ var self = this if(this.data.isPlay){ wx.stopBackgroundAudio(); this.setData({ isPlay:false }) }else{ //调出音乐 wx.playBackgroundAudio({ //音乐路径 dataUrl: self.data.music.url, //音乐标题 title:self.data.music.title, //音乐图片 coverImgUrl:self.data.music.coverImg, }) this.setData({ isPlay:true }) } } , ``` ## //让页面与监听页面保持一致 ``` onMusic(){ var self=this; wx.onBackgroundAudioPlay((result)=>{ self.setData({ isPlay:true }) }) wx.onBackgroundAudioPause((result)=>{ self.setData({ isPlay:false }) }) wx.onBackgroundAudioStop((result)=>{ self.setData({ isPlay:false }) }) } ``` ## onLoad ``` onLoad: function (options) { var id = options.id var data = local.postList[id]; this.setData({ data, music:data.music }) this.onMusic(); }, ``` ## 设置isPlay的状态 ``` data: { isPlay:false }, ``` ## wxml ``` <image src="{{shared?'/images/icon/share.png':'/images/icon/share-anti.png'}}" catchtap='onShare'/> ``` ## 让退出当前页面(不关闭app)是音乐依然播放 * 要点 存一个变量到全局里面去 ``` globalData:{ g_isPlay:false, g_currentId:null, } ``` `onLoad里` ``` // 进入页面退出页面音乐播放按钮一致 if (app.globalData.g_isPlay && app.globalData.g_currentId == id) { this.setData({ isPlay: true }); } ``` ``` onMusic() { var self = this; wx.onBackgroundAudioPlay((result) => { self.setData({ isPlay: true }); app.globalData.g_isPlay = true; app.globalData.g_currentId = self.data.postId; }); wx.onBackgroundAudioPause((result) => { self.setData({ isPlay: false }); app.globalData.g_isPlay = false; app.globalData.g_currentId = null; }); wx.onBackgroundAudioStop((result)=>{ self.setData({ isPlay:false }); }); }, ```