很多时候我们都想把数据预先缓存到本地,节省带宽。但是最近在处理微信小程序播放缓存到本地的音频文件的时候,遇到一些小问题,然后对于安卓和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/








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。