背景音频管理

BackgroundAudioManagerudio
<audio>
展示音频的容器
从基础库 1.6.0 开始,<audio>接口 停止维护,请使用 wx.createInnerAudioContext()
请使用在线资源或自建服务器资源;不要使用本地资源
更多信息,请查看 官方文档 - audio
wx.createInnerAudioContext(Object object)
创建内部 audio 上下文 InnerAudioContext 对象
InnerAudioContext 音频资源不会自动释放
如果不需要使用音频,请调用 InnerAudioContext.destroy() 释放资源,避免内存泄漏
音频播放过程中,可能被系统中断
wx.getBackgroundAudioManager()
获取全局唯一的背景音频管理器;创建背景音乐管理器
若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性;正式版还需通过审核
"requiredBackgroundModes": ["audio"]
设置后,即使用户离开小程序或锁屏,背景音乐也能继续播放
更多信息,请查看 官方文档 - getBackgroundAudioManager
BackgroundAudioManager
BackgroundAudioManager 实例
通过 wx.getBackgroundAudioManager() 获取
更多信息,请查看 官方文档 - BackgroundAudioManager
一般属性
属性 说明
src 音频资源的地址;设置了新的 src 时,会自动开始播放
title 音频标题,用于原生音频播放器音频标题;必填;分享出去的卡片标题将使用该值
startTime 开始播放的位置;单位 s
playbackRate 播放速度 0.5-2.0;默认 1;经测试,不支持
duration 当前音频的长度;只读
currentTime 当前音频的播放位置;单位 s;改变 currentTime 值等同于调用 seek;只读
paused 当前是是否暂停或停止状态;只读
一般方法
属性 说明
play() 播放
pause() 暂停。暂停后的音频再播放会从暂停处开始播放
seek() 跳转到指定位置
stop() 停止。停止后的音频再播放会从头开始播放
侦听方法
属性 说明
onCanplay(function listener) 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放;可以获取 duration
onPlay(function listener) 监听音频播放事件;建议在此获取 duration
onPause(function listener) 监听音频暂停事件
onSeeked(function listener) 监听音频完成跳转事件
onStop(function listener) 监听音频停止事件
onEnded(function listener) 监听音频自然播放至结束的事件;资源会被释放
onTimeUpdate(function listener) 监听音频播放进度更新事件
onError(function listener) 监听音频播放错误事件;如果错误,给出相应的错误代码
建议每次更新src时,都重新添加侦听事件,即侦听事件放在更新src后面
其它属性
epname:专辑名;分享出去的卡片简介将使用该值
singer:歌手名;分享出去的卡片简介将使用该值
coverImgUrl:封面图 URL,用于做原生音频播放器背景图;分享出去的卡片配图及背景将使用该图
webUrl:页面链接;分享出去的卡片简介将使用该值
极简版音乐播放器
Page({
    onLoad() {
        const bgm = wx.getBackgroundAudioManager()
        bgm.title = 'wang fei'
        bgm.src = 'https://glpla.github.io/utils/music/wang.mp3'
    }
})
音乐播放器 - player