Commit 7498cb66b917351dfde03a5534152dbd72d021f5
1 parent
269af8d2
feat: 播放过的音频再次播放时挪到列表顶部
Showing
1 changed file
with
11 additions
and
4 deletions
pages/index/index.js
@@ -57,12 +57,19 @@ Page({ | @@ -57,12 +57,19 @@ Page({ | ||
57 | this.resetAudio(); | 57 | this.resetAudio(); |
58 | audio = wx.createInnerAudioContext({useWebAudioImplement: true}); | 58 | audio = wx.createInnerAudioContext({useWebAudioImplement: true}); |
59 | audio.autoplay = true; | 59 | audio.autoplay = true; |
60 | + // 播放失败要移除缓存内容 | ||
61 | + audio.onError((res) => { | ||
62 | + console.log(res.errMsg) | ||
63 | + console.log(res.errCode) | ||
64 | + }); | ||
60 | // 检查是否播放过 | 65 | // 检查是否播放过 |
61 | const audioList = app.globalData.getAudioList(); | 66 | const audioList = app.globalData.getAudioList(); |
62 | - const playedIndex = audioList.findIndex(v => v.url === url); | ||
63 | - // 播放过,使用本地文件减少请求 | ||
64 | - if(playedIndex > -1){ | ||
65 | - return audio.src = audioList[playedIndex].path; | 67 | + const played = audioList.find(v => v.url === url); |
68 | + // 播放过,使用本地文件减少请求,且从播放列表中移到最前 | ||
69 | + if(played){ | ||
70 | + app.globalData.setAudioList('delete', played.path); | ||
71 | + app.globalData.setAudioList('add', played); | ||
72 | + return audio.src = played.path; | ||
66 | } | 73 | } |
67 | // 未播放过,先下载再播放 | 74 | // 未播放过,先下载再播放 |
68 | wx.downloadFile({ | 75 | wx.downloadFile({ |