微信小程序背景音乐的播放有本身自定义的api,并不推荐使用audio,audio加载时间长,体验很差,推荐使用wx.getBackgroundAudioManager()小程序
//定义背景音乐微信小程序
const bgMusic = wx.getBackgroundAudioManager() //建立背景音乐api
page({微信
data:{this
src:' 'url
},spa
onLoad:function(){接口
this.ceshi()事件
},get
ceshi:function(){
//这里 须要从接口得到背景音乐的路劲,我这里就随便写个假的了
wx.request({
url:' ',
dataP:{},
methos:'',
success:function(res){
this.setData({
src:src
})
this.listenerButtonPlay() //成功得到音乐路径后调用监听方法,以便 后续须要
}
})
},
listenerButtonPlay: function () {
var that = this
var src = that.data.src
console.log(src)
// bgMusic.title = '333'; //必须设置title,不然会报错
//bgMusic.src = src; //若是须要页面加载完成自动播放背景音乐,解除注释,背景音乐默认赋值上src后就自动播放
bgMusic.onTimeUpdate(() => { //监听音频播放进度
//console.log(bgMusic.currentTime)
})
bgMusic.onEnded(() => { //监听音乐天然播放结束
console.log("音乐播放结束");
// that.listenerButtonPlay(src) //r若是须要音乐结束后继续循环播放,解除注释
})
bgMusic.pause(); //播放音乐
},
//中止播放
listenerButtonStop: function () {
bgMusic.stop()
},
//有时咱们并不须要自动播放背景音乐,须要手动控制,随便加个点击事件
autoMusic: function (e) {
var that = this;
that.setData({
auto: !that.data.auto
});
if (that.data.auto) {
bgMusic.title = that.data.src //这个地方必须放在判断里,放在外边你会发现你暂停音乐暂停不了
bgMusic.src = that.data.src
bgMusic.play();
console.log("播放")
} else {
bgMusic.pause();
console.log("暂停")
}
},
})
这次使用问题汇总
背景音乐必须设置title,
赋值src会自动播放,
播放暂停若是方法是同一个赋值src必须放在播放判断里面