手机版

控制音频文件播放进度

时间:2021-12-03 来源:互联网 编辑:宝哥软件园 浏览:

问题描述

微信小程序中常用控制文件播放的滑块,音频播放进度可以通过滑块控制,下面用代码实现。

解决办法

首先利用实现进度条的效果。wxml和。控件控制进度条的进度和进度条的时间显示。js文件。wxml(播放进度结构的代码):

viewclass='内容-播放-进度'

文本{ { play . Currettime } }/文本

视角

slideractrivecolor=' # d33a 31 ' block-size=' 12 ' background color=' # dada ' value=' { { play . percent } } '/

/view

文本{ { play . duration } }/文本

/view

在上面的代码中,第五行使用滑块组件,其值为play.percent。wxss(播放进度风格代码):内容播放进度{

display:flex

align-items : center;

margin:035rpx

font-size :9 pt;

文本对齐:居中;

}。内容-播放-进度视图{

flex:1

}

保存上述代码后,运行程序,效果如下:

控制音频文件播放进度(图1)

图1微信小程序进度条的实现。js(控制进度条进度和时间的代码):

onReady:函数(){ 0

this . audioctx=wx . createinneraudiocontext()

变量=这个

//播放失败检测

这个。audioctx . onerror(function(){ 0

Console.log('未能播放':that.audioCtx.src)

})

//播放后自动换下一首歌。

这个。audioCtx。OnEnded(函数(){ 0

下一个

})

//自动更新播放进度

这个。audioCtx.onPlay(函数(){ 0

这个。audioctx . ontimeupdate(function(){ 0

that . setdata({ 0

play.duration': formatTime,

play . currenttime ' : format time(即. that.audioCtx. currrentTime),

play . percent ' : that . audioctx . currenttime/

that.audioCtx.duration*100

})

})

//默认选择第一首歌

This.setMusic(0)

//格式化时间

函数formatTime(时间){ 0

var分钟=math . floor(time/60)`;

var second=Math.floor(time)`

返回(10分钟?0 '分钟:分钟)' : '

(第10秒?0 '秒:秒)

}

})

}

在上面的代码中,音视频状态信息是通过调用audioCtx的onTimeUpdate()方法获取的,时间格式由formatTime()函数处理,最后渲染到页面上实现实时更新效果。效果如下:

控制音频文件播放进度(图2)

图2微信小程序进度条滑动

Bindchange事件绑定到滑块组件,可以实现滑动进度条来调整音视频文件的播放进度,代码示例:

slider bind change=" slider change " activeColor=" # d33a 31 " block-size=" 12 " background color=" # dada da " value=" { { play . percent } } "/

在中编写sliderChange函数。js文件获取用户当前选择的进度,并通过audioCtx对象的seek()方法设置时间。代码示例:

sliderChange:函数(e){ 0

var second=e . detail . value * that.audioCtx.duration/100

that.audioCtx.seek(secend)

},

版权声明:控制音频文件播放进度是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。