如题,将小程序中带背景音乐的页面(里面onLoad()事件中有wx.getBackgroundAudioManager().src="xxxx"的赋值语句)转发分享给自己,打开后提示如下错误:
thirdScriptError
APP-SERVICE-SDK:Can not set wx.backgroundAudio.src,background audio is preempted.
大概意思我的理解是:背景音乐被占用,但这本来就是一个对背景音乐src的赋值操作,当从转发分享进入该页面时,一个微信只能有一个背景音乐的话那它直接切换src值不就可以了吗?为什么还会出现背景音乐被占用的问题?
请问如何解决?
具体情况:我在开发一个音乐点播分享功能,用背景音频wx.getBackgroundAudioManager()播放音乐。
在音乐播放详情页musicDetail.js的onLoad()事件代码如下:
/**
* 生命周期函数–监听页面加载
*/
onLoad: function (options) {
var that = this;
if (options.music) {//如果有传入歌曲信息,说明来自点播分享
app.globalData.currentMusic = JSON.parse(options.music);
wx.getBackgroundAudioManager().src = app.globalData.currentMusic.src;
wx.getBackgroundAudioManager().coverImgUrl = app.globalData.currentMusic.poster;
wx.getBackgroundAudioManager().singer = app.globalData.currentMusic.author;
wx.getBackgroundAudioManager().title = app.globalData.currentMusic.name;
}
……其它代码
}
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
var that = this;
if (that.data.onDemandContent == ‘’) {
return;
}
return {
title: that.data.onDemandTitle,
path: ‘/pages/musicDetail/musicDetail?music=’ + JSON.stringify(app.globalData.currentMusic)
}
}
正常在小程序进入音乐播放详情页面musicDetail.js时onLoad()无参数
当通过分享时页面进入时,路径携带参数music。
测试操作流程:我是在一台手机上同一个微信帐号进行测试,
1、用自己的手机进入小程序音乐播放详情,然后分享给自己(同一微信帐号)的‘文件传输助手’
2、退出到聊天界面,进入‘文件传输助手’,点开刚刚分享的音乐详情页面
3、出现如题所述错误。
请教,是何问题,如何解决?