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


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 相关文章推荐
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
javascript的数据类型、字面量、变量介绍
May 23 Javascript
js 页面元素的几个用法总结
Nov 18 Javascript
JQuery给网页更换皮肤的方法
May 30 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
Feb 08 Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 Javascript
vue-cli的eslint相关用法
Sep 29 Javascript
iview给radio按钮组件加点击事件的实例
Sep 30 Javascript
vue解决花括号数据绑定不成功的问题
Oct 30 Javascript
Vue学习之常用指令实例详解
Jan 06 Javascript
详解JavaScript 异步编程
Jul 13 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图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
Puppet的一些技巧
2018/09/17 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
Python中转换角度为弧度的radians()方法
2015/05/18 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
django允许外部访问的实例讲解
2018/05/14 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
Django异步任务线程池实现原理
2019/12/17 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
土木工程专业个人求职信
2013/12/30 职场文书
人力资源经理自我评价
2014/01/04 职场文书
优秀教师获奖感言
2014/01/31 职场文书
自我鉴定总结
2014/03/24 职场文书
个人欠款担保书
2014/05/20 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server