上面兩篇文章介紹了一下自定義的progress 和 slider 組件,這篇文章介紹一下slider組件應(yīng)用的實(shí)例
代碼可在文末下載
這里的音頻播放用的是后臺(tái)音頻播放的API:
wx.getBackgroundAudioManager()
在js文件中初始化這個(gè)api(全局)
需要用到該對(duì)象的方法如下
音頻播放進(jìn)度,建議在這個(gè)方法里更新當(dāng)前播放時(shí)間,而不是自己另寫一個(gè)計(jì)時(shí)器計(jì)時(shí),因?yàn)楫?dāng)你狂按暫停播放的時(shí)候,你會(huì)發(fā)現(xiàn)計(jì)時(shí)器沒(méi)走,音頻卻走了
audioManager.onTimeUpdate()
緩沖
audioManager.onWaiting()
音頻播放結(jié)束
audioManager.onEnded()
快進(jìn) 該方法快進(jìn)到音頻還剩6-10秒時(shí)在跳轉(zhuǎn)到前面的時(shí)間會(huì)失效,目前還不知道原因,有知道的同學(xué)請(qǐng)留言解釋一下
audioManager.seek()
暫停
audioManager.pause()
播放
audioManager.play()
停止
audioManager.stop()
用到的屬性如下
audioManager.title
audioManager.epname
audioManager.singer
audioManager.coverImgUrl
audioManager.src
audioManager.paused
audioManager.buffered
以下五個(gè)方法監(jiān)聽(tīng)slider的滑動(dòng)和點(diǎn)擊事件
在tap end 和 cancel 方法里執(zhí)行seek事件
// 點(diǎn)擊slider時(shí)調(diào)用
sliderTap: function (e) {
console.log("sliderTap")
this.seek()
},
// 開(kāi)始滑動(dòng)時(shí)
sliderStart: function (e) {
console.log("sliderStart")
},
// 正在滑動(dòng)
sliderChange: function (e) {
console.log("sliderChange")
},
// 滑動(dòng)結(jié)束
sliderEnd: function (e) {
console.log("sliderEnd")
this.seek()
},
// 滑動(dòng)取消 (左滑時(shí)滑到上一頁(yè)面或電話等情況)
sliderCancel: function (e) {
console.log("sliderCancel")
this.seek()
},
有問(wèn)題請(qǐng)留言哦!
下載地址: demo
************ 更新 ***********
1、添加了控制監(jiān)聽(tīng)的參數(shù)isMonitoring, 在滑動(dòng)時(shí)取消ontimeupdate監(jiān)聽(tīng)