微信小程序背景音乐开发详解


Posted in Javascript onDecember 12, 2019

wx.getBackgroundAudioManager() 

推荐大家使用背景音乐不在使用audio

audio播放音频加载时间长 体验需求达不到

相关文档

https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html

相关代码

const bgMusic = wx.getBackgroundAudioManager() //创建背景音乐
Page({
 
 data: {
  id: '',//请求数据参数id
  musicMsg: {},//接收数据对象
 },
 
 onLoad: function (options) {
  var that = this
  that.setData({
   id: options.id,
  })
  that.getPicInfo() //请求服务器
 }, 
 // 开始播放
 listenerButtonPlay: function (src) {
  var that = this
  console.log(src)
  bgMusic.src = src;
  bgMusic.onTimeUpdate(() => { //监听音频播放进度
   console.log(bgMusic.currentTime)
  })
  bgMusic.onEnded(() => { //监听音乐自然播放结束
   console.log("音乐播放结束");
   that.listenerButtonPlay(that.data.musicMsg.mp3)
  })
  bgMusic.play(); //播放音乐
 },
 getPicInfo() {
  var that = this
  wx.request({
   url: 'https://xxxxx.xxxxx.com/1.json?id=' + that.data.id,
   header: {
    'content-type': 'application/json'
   },
   method: 'GET',
   success: function (res) {
    that.listenerButtonPlay(res.data.data.mp3) //成功回调执行播放音乐
    that.setData({
     musicMsg: res.data.data, //赋值对象
    })
 
   }
  })
 },
 
 onUnload() {
  var that = this
  that.listenerButtonStop()//页面卸载时停止播放
  console.log("离开")
 },
 
 //暂停
 audioPause: function () {
  var that = this
  bgMusic.pause(); //暂停播放音乐
  console.log('暂停')
 },
 audioPlay: function () {
  var that = this
  bgMusic.play(); //停止播放
  console.log('继续播放')
 },
 //停止播放
 listenerButtonStop: function () {
  bgMusic.stop()
 },
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 正则表达式相关应介绍
Nov 27 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
JavaScript中string转换成number介绍
Dec 31 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
jQuery向后台传入json格式数据的方法
Feb 13 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
May 11 Javascript
javascript表达式和运算符详解
Feb 07 Javascript
JavaScript Base64 作为文件上传的实例代码解析
Feb 14 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
Oct 23 Javascript
Angular ng-animate和ng-cookies用法详解
Apr 18 Javascript
layui表格 列自动适应大小失效的解决方法
Sep 06 Javascript
vue实现商城秒杀倒计时功能
Dec 12 #Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 #Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 #Javascript
vue-property-decorator用法详解
Dec 12 #Javascript
JS实现动态倒计时功能(天数、时、分、秒)
Dec 12 #Javascript
JavaScript Reflect Metadata实现详解
Dec 12 #Javascript
JS动态显示倒计时效果
Dec 12 #Javascript
You might like
php 什么是PEAR?(第三篇)
2009/03/19 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
初识PHP中的Swoole
2016/04/05 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
javascript void(0)的妙用
2009/10/21 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
在Python中使用Mako模版库的简单教程
2015/04/08 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Python 画出来六维图
2019/07/26 Python
python绘制封闭多边形教程
2020/02/18 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
司马光教学反思
2014/02/01 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
啦啦队口号大全
2014/06/16 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
关于做家务的心得体会
2016/01/23 职场文书