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


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 相关文章推荐
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
Apr 27 Javascript
自己用jQuery写了一个图片的马赛克消失效果
May 04 Javascript
javascript中alert()与console.log()的区别
Aug 26 Javascript
JavaScript动态创建div等元素实例讲解
Jan 06 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
Jan 27 Javascript
jQuery获取file控件中图片的宽高与大小
Aug 04 Javascript
JavaScript prototype属性详解
Oct 25 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
vue 左滑删除功能的示例代码
Jan 28 Javascript
基于JS实现web端录音与播放功能
Apr 17 Javascript
原生js实现购物车功能
Sep 23 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
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
JavaScript 布尔操作符解析  &amp;&amp; || !
2012/08/10 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
js单词形式的运算符
2014/05/06 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
用Python进行基础的函数式编程的教程
2015/03/31 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
python求最大值最小值方法总结
2019/06/25 Python
Django组件content-type使用方法详解
2019/07/19 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
开业庆典答谢词
2014/01/18 职场文书
司法局火灾防控方案
2014/06/05 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书