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


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中令你抓狂的魔术变量
Nov 30 Javascript
用js计算页面执行时间的函数
Dec 07 Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 Javascript
js操作数据库实现注册和登陆的简单实例
May 26 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
实例详解display:none与visible:hidden的区别
Mar 30 Javascript
AngularJS实现图片上传和预览功能的方法分析
Nov 08 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
js实现无缝轮播图
Mar 09 Javascript
javascript 使用sleep函数的常见方法详解
Apr 26 Javascript
vue实现购物车加减
May 30 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
操作Oracle的php类
2006/10/09 PHP
PHP 高手之路(三)
2006/10/09 PHP
用PHP查询域名状态whois的类
2006/11/25 PHP
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
JavaScript 常用函数
2009/12/30 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
js倒计时显示实例
2016/12/11 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
详解Python中的四种队列
2018/05/21 Python
python事件驱动event实现详解
2018/11/21 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Python Json数据文件操作原理解析
2020/05/09 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
python源文件的字符编码知识点详解
2021/03/04 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
作文评语集锦大全
2014/04/23 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
运动会5000米加油稿
2015/07/21 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB