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


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 相关文章推荐
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 Javascript
JavaScript移除数组元素减少长度的方法
Sep 05 Javascript
jquery购物车实时结算特效实现思路
Sep 23 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
JS实现方向键切换输入框焦点的方法
Aug 19 Javascript
利用JQuery写一个简单的异步分页插件
Mar 07 Javascript
jquery radio的取值_radio的选中_radio的重置方法
Sep 20 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 Javascript
angularJs中json数据转换与本地存储的实例
Oct 08 Javascript
vuejs移动端实现div拖拽移动
Jul 25 Javascript
layui的select联动实现代码
Sep 28 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类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
php 可变函数使用小结
2018/06/12 PHP
基于JS实现的倒计时程序实例
2015/07/24 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
python二分法实现实例
2013/11/21 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Python中logging日志库实例详解
2020/02/19 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
感恩父母的演讲稿
2014/05/06 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
免职通知
2015/04/23 职场文书
党小组意见范文
2015/06/08 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis