小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在A页面播放背景音乐,切换到B页面后,音乐继续播放,但是无法获取播放状态
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
/** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { // 获取BackgroundAudioManager 实例 this.back = wx.getBackgroundAudioManager() // 对实例进行设置 // 设置了 src 之后会自动播放(src为云开发中云存储空间文件的链接) this.back.src = "" this.back.title = '夜的钢琴曲' // 标题为必选项 this.back.play() // 开始播放 // 背景音乐循环的方法 var that = this.back // 1、onEnded监听播放自然结束 this.back.onEnded (function(){ // 2、必须重新设置src才能循环之后会重新自动播放 that.src = "" }) }, handleProxy() { this.back.pause(); // 点击音乐图标后出发的操作 this.setData({ on: !this.data.on }) if (this.data.on) { this.back.play(); // toast 提示信息 var that = this; this.setData({ showModal: true // 显示 toast }) // 定时器 500ms 关闭toast setTimeout(function() { that.setData({ showModal: false }) },500) console.log("背景音乐已开启"); }else{ this.back.pause(); // toast 提示信息 var that = this; this.setData({ showModalh:true // 显示 toast }) // 定时器 500ms 关闭toast setTimeout(function() { that.setData({ showModalh: false }) },500) console.log("背景音乐已暂停"); } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { // 切换页面时,再次回到原页面, // 1.onHide() 中使用 pause() 会继续播放背景音乐 // 1.onHide() 中使用 stop() 会重新播放背景音乐 this.onReady() }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { // 页面隐藏时,暂停背景音乐 let that = this.back; // that.pause(); //当重新回到原页面时,继续播放 that.stop(); //当重新回到原页面时,重新播放 },
请问这个问题你解决了吗?我也遇到了同样的问题
that.setData({
showModalh: false
})
},500)
console.log("背景音乐已暂停");
}
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
// 切换页面时,再次回到原页面,
// 1.onHide() 中使用 pause() 会继续播放背景音乐
// 1.onHide() 中使用 stop() 会重新播放背景音乐
this.onReady()
* 生命周期函数--监听页面隐藏
onHide: function () {
// 页面隐藏时,暂停背景音乐
let that = this.back;
// that.pause(); //当重新回到原页面时,继续播放
that.stop(); //当重新回到原页面时,重新播放
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
app.appMusic.onPlay(() => {
console.log('音乐播放了');
this.setData({
isStart: true
})
});
//监听音乐暂停
app.appMusic.onPause(() => {
console.log('音乐暂停了');
this.setData({
isStart: false
})
});
//监听音乐停止
app.appMusic.onStop(() => {
console.log('音乐停止了')
this.setData({
isStart: false
})
})
//监听到音乐播放完了
app.appMusic.onEnded(() => {
app.appMusic.play();
})
/** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { // 获取BackgroundAudioManager 实例 this.back = wx.getBackgroundAudioManager() // 对实例进行设置 // 设置了 src 之后会自动播放(src为云开发中云存储空间文件的链接) this.back.src = "" this.back.title = '夜的钢琴曲' // 标题为必选项 this.back.play() // 开始播放 // 背景音乐循环的方法 var that = this.back // 1、onEnded监听播放自然结束 this.back.onEnded (function(){ // 2、必须重新设置src才能循环之后会重新自动播放 that.src = "" }) }, handleProxy() { this.back.pause(); // 点击音乐图标后出发的操作 this.setData({ on: !this.data.on }) if (this.data.on) { this.back.play(); // toast 提示信息 var that = this; this.setData({ showModal: true // 显示 toast }) // 定时器 500ms 关闭toast setTimeout(function() { that.setData({ showModal: false }) },500) console.log("背景音乐已开启"); }else{ this.back.pause(); // toast 提示信息 var that = this; this.setData({ showModalh:true // 显示 toast }) // 定时器 500ms 关闭toast setTimeout(function() { that.setData({ showModalh: false }) },500) console.log("背景音乐已暂停"); } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { // 切换页面时,再次回到原页面, // 1.onHide() 中使用 pause() 会继续播放背景音乐 // 1.onHide() 中使用 stop() 会重新播放背景音乐 this.onReady() }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { // 页面隐藏时,暂停背景音乐 let that = this.back; // that.pause(); //当重新回到原页面时,继续播放 that.stop(); //当重新回到原页面时,重新播放 },
请问这个问题你解决了吗?我也遇到了同样的问题
that.setData({
showModalh: false
})
},500)
console.log("背景音乐已暂停");
}
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
// 切换页面时,再次回到原页面,
// 1.onHide() 中使用 pause() 会继续播放背景音乐
// 1.onHide() 中使用 stop() 会重新播放背景音乐
this.onReady()
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
// 页面隐藏时,暂停背景音乐
let that = this.back;
// that.pause(); //当重新回到原页面时,继续播放
that.stop(); //当重新回到原页面时,重新播放
},