微信小程序:音频倍速播放

1. InnerAudioContext 目前还不支持倍速播放

官网API:https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html

2. BackgroundAudioManager 支持倍速播放,范围:0.5~2

官网API:https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html

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
})
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容