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


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 相关文章推荐
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
Sep 04 Javascript
JavaScript实现页面跳转的几种常用方式
Nov 28 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
Dec 11 Javascript
使用vue-resource进行数据交互的实例
Sep 02 Javascript
vue刷新和tab切换实例
Feb 11 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
Aug 07 Javascript
原生js检测页面加载完毕的实例
Sep 11 Javascript
详解vue在项目中使用百度地图
Mar 26 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
Oct 28 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 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
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
调整PHP的性能
2013/10/30 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
python从入门到精通(DAY 2)
2015/12/20 Python
python模块导入的细节详解
2018/12/10 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
Python requests模块cookie实例解析
2020/04/14 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
EntityManager都有哪些方法
2013/11/01 面试题
人力资源总监工作说明
2014/03/03 职场文书
运动员获奖感言
2014/08/15 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
素质教育学习心得体会
2016/01/19 职场文书