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


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对象学习经验整理
Oct 12 Javascript
XMLHttpRequest Level 2 使用指南
Aug 26 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
解决vue的 v-for 循环中图片加载路径问题
Sep 03 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
Apr 16 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
Apr 04 Javascript
详解js中的原型,原型对象,原型链
Jul 16 Javascript
js编写简易的计算器
Jul 29 Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 Javascript
springboot+vue实现文件上传下载
Nov 17 Vue.js
js简单粗暴的发布订阅示例代码
Jan 23 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下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
js精度溢出解决方案
2012/12/02 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
python网络编程之五子棋游戏
2020/05/14 Python
西班牙在线光学:Visual-Click
2020/06/22 全球购物
药学专业毕业生求职信
2013/10/20 职场文书
办理生育手续介绍信
2014/01/14 职场文书
节约用水倡议书
2014/04/16 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
2015个人半年总结范文
2015/03/09 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
外科护士长工作总结
2015/08/12 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电