147 lines
2.9 KiB
JavaScript
147 lines
2.9 KiB
JavaScript
![]() |
const utils = require("../../../utils/utils");
|
||
|
|
||
|
// subpackage/teacher/resource-detail/resource-detail.js
|
||
|
Page({
|
||
|
|
||
|
/**
|
||
|
* 页面的初始数据
|
||
|
*/
|
||
|
data: {
|
||
|
title: '口令',
|
||
|
value: '00:00',
|
||
|
duration: '00:00',
|
||
|
aduio:null,
|
||
|
data:{},
|
||
|
isPlay:false,
|
||
|
percent:0,
|
||
|
isReload:false,//是否重复播放
|
||
|
isShow:false,//是否展示弹窗
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面加载
|
||
|
*/
|
||
|
onLoad(options) {
|
||
|
console.log(JSON.parse(options.data))
|
||
|
this.setData({
|
||
|
data: JSON.parse(options.data),
|
||
|
title: JSON.parse(options.data).id == 1 ? '口令' : JSON.parse(options.data).id == 2 ? '音乐' : '视频'
|
||
|
})
|
||
|
this.loadAudio(JSON.parse(options.data).resourceUrl)
|
||
|
},
|
||
|
|
||
|
loadAudio(url) {
|
||
|
this.audioCtx = wx.createInnerAudioContext();
|
||
|
this.audioCtx.src = url
|
||
|
this.audioCtx.onCanplay(() => {
|
||
|
this.audioCtx.duration
|
||
|
this.audioCtx.currentTime
|
||
|
console.log(this.audioCtx.currentTime)
|
||
|
console.log(this.audioCtx.duration)
|
||
|
console.log(this.audioCtx.currentTime)
|
||
|
this.setData({
|
||
|
value: utils.formatTimeStr(this.audioCtx.currentTime),
|
||
|
duration: utils.formatTimeStr(this.audioCtx.duration),
|
||
|
})
|
||
|
})
|
||
|
|
||
|
this.audioCtx.onTimeUpdate(() => {
|
||
|
console.log('在播放咯')
|
||
|
console.log(this.data.percent)
|
||
|
console.log('在播放咯')
|
||
|
this.audioCtx.duration
|
||
|
this.audioCtx.currentTime
|
||
|
this.setData({
|
||
|
value: utils.formatTimeStr(this.audioCtx.currentTime),
|
||
|
duration: utils.formatTimeStr(this.audioCtx.duration),
|
||
|
percent:((this.audioCtx.currentTime/this.audioCtx.duration)*100).toFixed(0)
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
|
||
|
btnCilck(){
|
||
|
console.log(this.audioCtx.src)
|
||
|
if(this.data.isPlay){
|
||
|
this.audioCtx.pause()
|
||
|
this.setData({
|
||
|
isPlay:false
|
||
|
})
|
||
|
}else{
|
||
|
this.audioCtx.play()
|
||
|
this.setData({
|
||
|
isPlay:true
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
|
||
|
showList(){
|
||
|
this.setData({
|
||
|
isShow:true
|
||
|
})
|
||
|
},
|
||
|
|
||
|
reload(){
|
||
|
wx.showToast({
|
||
|
title: this.data.isReload ?'列表循环':'单曲循环',
|
||
|
icon:'none'
|
||
|
})
|
||
|
this.audioCtx.loop = true
|
||
|
this.setData({
|
||
|
isReload:!this.data.isReload
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面初次渲染完成
|
||
|
*/
|
||
|
onReady() {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面显示
|
||
|
*/
|
||
|
onShow() {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面隐藏
|
||
|
*/
|
||
|
onHide() {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面卸载
|
||
|
*/
|
||
|
onUnload() {
|
||
|
if(this.audioCtx){
|
||
|
this.audioCtx.stop();
|
||
|
if(this.audioCtx.destory){
|
||
|
this.audioCtx.destory();
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||
|
*/
|
||
|
onPullDownRefresh() {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 页面上拉触底事件的处理函数
|
||
|
*/
|
||
|
onReachBottom() {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 用户点击右上角分享
|
||
|
*/
|
||
|
onShareAppMessage() {
|
||
|
|
||
|
}
|
||
|
})
|