1.功能需求:
- 小程序后台可以继续播放音频
- 音频播放,暂停,播放进度时时更新
- 进度条拖拽
2.效果图:
3.直接上代码
index.wxml文件(没啥可说的,小程序slider组件)
slider相关属性参考官方文档:slider
1 | <view class="progress"> |
index.js文件
参考小程序背景音频API BackgroundAudioManager
1)首先获取全局唯一的背景音频管理器
1 | const backgroundAudioManager = wx.getBackgroundAudioManager() |
2)从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性。开发版和体验版上可以直接生效,正式版还需通过审核。
1 | {“pages”: [“pages/index/index”],“requiredBackgroundModes”: [“audio”]} |
3)通过接口获取音频播放源,注意音频播放源不要有汉字!不要有汉字!不要有汉字!会导致苹果手机报错code:10003,文件错误。即使通过encodeURI(‘src’),苹果手机有时还是会播放不了。
1 | data: { |
写在最后,当音频处于播放状态时,点击列表中该条音频,应该是继续播放而不是重新播放,此时可以判断一下当前音频是否是播放状态,如果是的话,不做任何操作(此时音频会继续播放),不是的话赋值src和title进行播放
errorCode说明:
errorCode | 说明 |
---|---|
10001 | 系统错误 |
10002 | 网络错误 |
10003 | 文件错误 |
10004 | 格式错误 |
-1 | 未知错误 |