微信小程序的音频播放主要分1.背景音频播放与2.普通音频播放两种。以下是wepy项目中的具体写法
1背景音频播放
1.创建背景音频
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.创建背景音频
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(() => {
//这里可以写音乐开始播放后的回掉函数
})
this.innerAudioContext.onError((res) => {
// 音频出现播放错误时候的回调函数
})
3.最后别忘记在你离开页面的时候销毁了你不再使用的音频对象
onUnload() {
this.innerAudioContext.destroy();
}
最后除此之外,还有一种用标签的方式播放音频的写法。
<audio src="{{src}}" id="myAudio"></audio>
<button type="primary" bindtap="audioPlay">播放</button>
<button type="primary" bindtap="audioPause">暂停</button>
<button type="primary" bindtap="audio14">设置当前播放时间为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')
}
以上是满足最长使用的基本的功能。更多功能可以参考更为详细的小程序音频开发文档哦。https://developers.weixin.qq.com/miniprogram/dev/api/InnerAudioContext.html