小程序播放緩存的音頻文件的實現(xiàn)方式
很多時候我們都想把數(shù)據(jù)預(yù)先緩存到本地,節(jié)省帶寬。但是最近在處理微信小程序播放緩存到本地的音頻文件的時候,遇到一些小問題,然后對于安卓和IOS需要采用不同的播放策略。
首先,如果哪怕用audio標(biāo)簽來播放在線的音頻文件,假如服務(wù)端沒有實現(xiàn)斷點續(xù)傳,IOS是無法播放的,這個需要注意。
對于緩存在小程序的音頻(wx.saveFile(OBJECT)保存的音頻),IOS只能通過播放背景音樂的接口播放,其它播放方法都沒有成功實踐,而對于安卓,內(nèi)部 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();