2025-06-06 15:17:30 +08:00

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() {
}
})