微信小程序的音頻播放主要分1.背景音頻播放與2.普通音頻播放兩種要尔。以下是wepy項目中的具體寫法
1背景音頻播放
1.創(chuàng)建背景音頻
data = {
backgroundAudioManager: null
}
this.backgroundAudioManager = wx.getBackgroundAudioManager();
2.播放背景音樂
this.backgroundAudioManager.title = '背景音樂',
this.backgroundAudioManager.src = 'https://lgyq.oss-cn-hongkong.aliyuncs.com/ng/%E5%A3%B0%E9%9F%B3/%E5%B0%8F%E7%80%AC%E6%9D%91%E6%99%B6%20-%20petrarca.mp3'
3.暫停背景音樂
wx.stopBackgroundAudio()
2普通音頻播放
1.創(chuàng)建背景音頻
data = {
innerAudioContext: null,
}
this.backgroundAudioManager = wx.getBackgroundAudioManager();
2.播放背景音樂
this.innerAudioContext.autoplay = true
this.innerAudioContext.src = 'https://lgyq.oss-cn-hongkong.aliyuncs.com/ng/%E5%A3%B0%E9%9F%B3/1.mp3'
this.innerAudioContext.onPlay(() => {
//這里可以寫音樂開始播放后的回掉函數(shù)
})
this.innerAudioContext.onError((res) => {
// 音頻出現(xiàn)播放錯誤時候的回調(diào)函數(shù)
})
3.最后別忘記在你離開頁面的時候銷毀了你不再使用的音頻對象
onUnload() {
this.innerAudioContext.destroy();
}
最后除此之外,還有一種用標(biāo)簽的方式播放音頻的寫法耳奕。
<audio src="{{src}}" id="myAudio"></audio>
<button type="primary" bindtap="audioPlay">播放</button>
<button type="primary" bindtap="audioPause">暫停</button>
<button type="primary" bindtap="audio14">設(shè)置當(dāng)前播放時間為14秒</button>
<button type="primary" bindtap="audioStart">回到開頭</button>
data = {
src: '',
audioCtx: null,
}
methods = {
audioPlay() {
this.audioCtx.play()
},
audioPause() {
this.audioCtx.pause()
},
audio14() {
this.audioCtx.seek(14)
},
audioStart() {
this.audioCtx.seek(0)
}
}
onLoad() {
this.audioCtx = wx.createAudioContext('myAudio')
this.audioCtx.setSrc('http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46')
}
以上是滿足最長使用的基本的功能衅斩。更多功能可以參考更為詳細(xì)的小程序音頻開發(fā)文檔哦盆顾。https://developers.weixin.qq.com/miniprogram/dev/api/InnerAudioContext.html