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


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使用prototype定义对象类型
Feb 07 Javascript
使用onbeforeunload属性后的副作用
Mar 08 Javascript
JavaScript 动态创建VML的方法
Oct 14 Javascript
JavaScript中的作用域链和闭包
Jun 30 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
Jun 08 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
Dec 28 Javascript
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
JavaScript中set与get方法用法示例
Aug 15 Javascript
Vue 组件修改根实例的数据的方法
Apr 02 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
Jul 24 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
django初始化数据库的实例
2018/05/27 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
你们项目是如何进行变更控制的
2015/08/26 面试题
质量月活动策划方案
2014/03/10 职场文书
公司总经理岗位职责
2014/03/15 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
招标授权委托书样本
2014/09/23 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
趣味运动会口号
2015/12/24 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
Nginx快速入门教程
2021/03/31 Servers
Go语言基础map用法及示例详解
2021/11/17 Golang