微信小程序背景音樂的播放有本身自定義的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必須放在播放判斷裏面