微信小程序实现音乐播放器


Posted in Javascript onNovember 20, 2019

今天继续玩小程序的api,看着别人例子跟着做一个小程序,留下一个脚印吧。末尾附上github源码地址。实现以下微信小程序的音乐播放器,先看下效果图

微信小程序实现音乐播放器

界面做的确实挺丑的,先上wxss文件

//index.wxss
.button-style{ 
 background-color: #eee; 
 border-radius: 8rpx; 
 margin: 20rpx; 
}

只是顶一个简单的按钮的圆角和间距,颜色这个我还是用primary这个小绿色。
下面是index.wxml文件

//index.wxml
<button class="button-style" type="primary" bindtap="listenerButtonPlay">播放</button>
<button class="button-style" type="primary" bindtap="listenerButtonPause">暂停</button>
<button class="button-style" type="primary" bindtap="listenerButtonSeek">设置播放进度</button>
<button class="button-style" type="primary" bindtap="listenerButtonStop">停止播放</button>
<button class="button-style" type="primary" bindtap="listenerButtonGetPlayState">获取播放状态</button>

没办法,用开发者工具打出来就是这样的丑格式

下面是重点index.js

//index.js
//获取应用实例
var app = getApp()
Page({
 data:{

 },
 //播放
 listenerButtonPlay:function(){
 wx.playBackgroundAudio({
  dataUrl: 'http://ac-5g9r20ds.clouddn.com/e54ad7f0a834b9c07ec6.mp3',
  title:'李宗盛',
  //图片地址地址
  coverImgUrl:'http://ac-5g9r20ds.clouddn.com/63bedb5f584234b6827c.jpg'
 })
 },
 //监听button暂停按钮
 listenerButtonPause:function(){
 wx.pauseBackgroundAudio({

 });
 console.log('暂停播放')
 },
 /**
 * 播放状态
 */
 listenerButtonGetPlayState:function(){
 wx.getBackgroundAudioPlayerState({
  success: function(res){
  // success
  //duration 选定音频的长度(单位:s),只有在当前有音乐播放时返回
  console.log('duration:' + res.duration)
  console.log('currentPosition:' + res.currentPosition) 
  //status 播放状态(2:没有音乐在播放,1:播放中,0:暂停中)
  console.log('status:' + res.status) 
  console.log('downloadPercent:' + res.downloadPercent) 
  //dataUrl 歌曲数据链接,只有在当前有音乐播放时返回 
  console.log('dataUrl:' + res.dataUrl)
  },
  fail: function() {
  // fail
  },
  complete: function() {
  // complete
  }
 })
 },
 /**
 * 设置进度
 */
 listenerButtonSeek:function(){
 wx.seekBackgroundAudio({
  position: 40
 })
 },
 /**
 * 停止播放
 */
 listenerButtonStop:function(){
 wx.stopBackgroundAudio({

 })
 console.log('停止播放')
 },
 onLoad:function(options){
 // 页面初始化 options为页面跳转所带来的参数 
 /** 
  * 监听音乐播放 
  */ 
 wx.onBackgroundAudioPlay(function() {
  // callback
  console.log('onBackgroundAudioPlay')
 })
 /**
  * 监听音乐暂停
  */
 wx.onBackgroundAudioPause(function() {
  // callback
  console.log('onBackgroundAudioPause')
 })
 /**
  * 监听音乐停止
  */
 wx.onBackgroundAudioStop(function() {
  // callback
  console.log('onBackgroundAudioStop')
 })
 }
})

里面可以先按照顺序来看onLoad函数,里面定义了三个监听函数,可以看到console里面效果如图

微信小程序实现音乐播放器

其实里面的api使用不是很难,在button标签里面写好bindtap事件名,在js方法中对应相应的处理function,像wx.playBackgroundAudio这个只需要你去填充一些参数即可,不懂得可以参考api文档(API入口)。
附上github源码地址

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript DOM 添加事件
Feb 14 Javascript
一个JS的日期格式化算法示例
Jul 31 Javascript
让IE8浏览器支持function.bind()方法
Oct 16 Javascript
jQuery中:disabled选择器用法实例
Jan 04 Javascript
原生js仿jquery一些常用方法(必看篇)
Sep 20 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
Oct 05 Javascript
个人小程序接入支付解决方案
May 23 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
Aug 27 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
微信小程序实现一个简单swiper代码实例
Dec 30 Javascript
JavaScript监听触摸事件代码实例
Dec 30 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 Javascript
vue移动端模态框(可传参)的实现
Nov 20 #Javascript
微信小程序实现上拉加载功能
Nov 20 #Javascript
微信小程序实现锚点功能
Nov 20 #Javascript
vue实现element表格里表头信息提示功能(推荐)
Nov 20 #Javascript
微信小程序实现时间进度条功能
Nov 17 #Javascript
小程序实现投票进度条
Nov 20 #Javascript
javascript跳转与返回和刷新页面的实例代码
Nov 20 #Javascript
You might like
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PDO::prepare讲解
2019/01/29 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
vue实现搜索功能
2019/05/28 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
python里将list中元素依次向前移动一位
2014/09/12 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Python小进度条显示代码
2019/03/05 Python
python程序控制NAO机器人行走
2019/04/29 Python
简单了解Django ContentType内置组件
2019/07/23 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
python使用配置文件过程详解
2019/12/28 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
挑战杯创业计划书的写作指南
2014/01/07 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
会计求职自荐信
2014/06/20 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
Python多线程 Queue 模块常见用法
2021/07/04 Python