黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

小程序怎么做音乐播放条

来源:黔优媒体网   时间:2024-09-19

小程序怎么做音乐播放条    

可以使用progress组件实现音乐播放条,具体做法如下:

1、添加一个audio标签,不指定controls="true"属性即可隐藏。

 view >bindtouchmove表示触摸事件;progress标签通过percent属性设置进度

2、编写WSS文件

推荐学习:小程序开发

.play-it{
 margin-left: 300rpx;
.music-prog{
 width: 550rpx;
 height: 10rpx;
 margin: 50rpx 100rpx;
 color: #0099ff;
 background-color: #999;
.percent-num{
 margin: -20rpx 0 0 100rpx;
 font-size: 28rpx;
}

3、编写js,控制播放条。

onShow() {
 // 监听音乐播放
 let that = this
 wx.onBackgroundAudioPlay(() = {
 that.timer clearInterval(that.timer)
 that.timer = setInterval(() = {
 wx.getBackgroundAudioPlayerState({
 success: res = {
 let per = (res.currentPosition/res.duration)*10000
 that.setData({
 musicPercent: Math.round(per)/100 + #39; #39;,
 duration: res.duration
 }, 1000)
 // 监听背景音频暂停事件
 wx.onBackgroundAudioPause(() = {
 clearInterval(that.timer)
 // 监听背景音频停止事件
 wx.onBackgroundAudioStop(() = {
 clearInterval(that.timer)
 playMusic() {
 let obj = {
 dataUrl: #39;http://p6jceeddp.bkt.clouddn.com/%E5%B0%A4%E9%95%BF%E9%9D%96%20-%20%E6%98%A8%E6%97%A5%E9%9D%92%E7%A9%BA.mp3 #39;,
 title: #39;昨日青空 #39;,
 coverImgUrl: #39;/static/images/avatar.png #39;
 wx.playBackgroundAudio(obj)
 setTouchMove (e) {
 if(e.touches[0].clientY = 390 e.touches[0].clientY = 410) {
 if (e.touches[0].clientX = 55 e.touches[0].clientX = 355) {
 let percent = (e.touches[0].clientX - 55)/300*10000
 this.setData({
 musicPercent: Math.round(percent)/100 + #39; #39;
 this.data.current = (this.data.musicPercent/100)*this.data.duration
 setProgress() {
 let that = this
 console.log( #39;bindtouchend #39;)
 wx.getBackgroundAudioPlayerState({
 success: res = {
 that.data.current !== res.currentPosition 
 wx.seekBackgroundAudio({
 position: that.data.current,
 success () {
 console.log( #39;seek #39;, that.data.current)
 }

播放条的有效区域

横向: e.touches[0].clientX

纵向: e.touches[0].clientY

此处横向为 55~355 ,纵向为 390~410

定义触摸事件

获取到的横向进度条位置,计算用户所拖拽到的进度条位置

**注意:在此处调用wx.seekBackgroundAudio()设置播放进度,会导致音频出现卡顿的效果。因为用户拖动的过程中会多次调用seek方法,所以应该把设置播放进度放在拖动进度条完成之后再执行。

touchend监听触摸事件的停止

根据触摸事件中计算得到的时间current,调用wx.seekBackgroundAudio()设置播放进度

效果:

PHP中文网,大量网站建设教程,欢迎学习!

以上就是小程序怎么做音乐播放条的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:小程序怎么做音乐播放条;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)