小程序播放緩存的音頻文件的實現方式
2020-09-27|HiShop
導讀:很多時候我們都想把數據預先緩存到本地,節省帶寬。但是最近在處理微信小程序播放緩存到本地的音頻文件的時候,遇到一些小問題,然后對于安卓和IOS需要采用不同的播放策略。...
很多時候我們都想把數據預先緩存到本地,節省帶寬。但是最近在處理微信小程序播放緩存到本地的音頻文件的時候,遇到一些小問題,然后對于安卓和IOS需要采用不同的播放策略。
首先,如果哪怕用audio標簽來播放在線的音頻文件,假如服務端沒有實現斷點續傳,IOS是無法播放的,這個需要注意。
對于緩存在小程序的音頻(wx.saveFile(OBJECT)保存的音頻),IOS只能通過播放背景音樂的接口播放,其它播放方法都沒有成功實踐,而對于安卓,內部 audio 上下文 innerAudioContext 對象即可播放。給出代碼:
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();