1. InnerAudioContext 目前还不支持倍速播放
官网API:https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html
2. BackgroundAudioManager 支持倍速播放,范围:0.5~2
wx.getBackgroundAudioManager() 获取全局唯一的背景音频管理器。 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。
从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 app.json 中配置
requiredBackgroundModes
属性。开发版和体验版上可以直接生效,正式版还需通过审核。
如何设置音频播放倍速
// 获取全局唯一的背景音频管理器
const innerAudioContext = wx.getBackgroundAudioManager()
// 如果当前已有mp3在播放,无法直接更改倍速
// 我的方案:先给个错误的mp3,再切换回原来的mp3,最后修改倍速属性
innerAudioContext.src = './null.mp3'
innerAudioContext.src = src
// 更改src之后才可以更改属性,比如更改倍速 playbackRate
innerAudioContext.title = '道德经'
innerAudioContext.epname = '古籍'
innerAudioContext.singer = '老子'
innerAudioContext.playbackRate = rate
注意:必须设置title,否则会报错
如何设置循环播放
// 监控音频是否播放结束,播放结束重新播放当前音频,以达到循环播放效果
innerAudioContext.onEnded(() => {
console.log("音乐播放结束");
// 获取当前音频的src
let src = this.data.audiosrc
// 更改src,小程序自动播放(同样,先给错的src,再切到当前的src)
innerAudioContext.src = './null.mp3'
innerAudioContext.src = src
})
网友评论