IOS中微信小程序播放缓存的音频文件的方法

时间:2022-09-19 18:06:18

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