很多时候我们都想把数据预先缓存到本地,节省带宽。但是最近在处理微信小程序播放缓存到本地的音频文件的时候,遇到一些小问题,然后对于安卓和IOS需要采用不同的播放策略。
首先,如果哪怕用audio标签来播放在线的音频文件,假如服务端没有实现断点续传,IOS是无法播放的,这个需要注意。
对于缓存在小程序的音频(wx.saveFile(OBJECT)保存的音频),IOS只能通过播放背景音乐的接口播放,其它播放方法都没有成功实践,而对于安卓,内部 audio 上下文 innerAudioContext 对象即可播放。给出代码:
1
2
3
4
5
6
7
8
9
10
|
var res = wx.getSystemInfoSync() if (res.platform == 'ios' ) { this .audio = wx.getBackgroundAudioManager() } else { this .audio = wx.createInnerAudioContext(); } this .audio.title = "音乐文件" ; this .audio.src = "本地文件地址" ; this .audio.play(); |
原文链接:http://blog.yubangweb.com/wei-xin-xiao-cheng-xu-bo-fang-huan-cun-de-yin-pin-wen-jian/