小程序实现背景音乐播放和暂停


Posted in Javascript onJune 19, 2020

本文实例为大家分享了小程序背景音乐,供大家参考,具体内容如下

我做这个项目的需求,用到一个背景音乐的播放和暂停;
当用户点击进入音乐界面的时候用户需要手动点击播放对应的音乐,那么播放以后推出音乐界面这个音乐还是处于播放状态,以及音乐的图标的状态也一个是播放。so看看代码吧!
那这里用到了一个新的api 知点,wx.createInnerAudioContext,可以参考小程序官方文档 wx.createInnerAudioContext

具体属性

innerAudioContext.autoplay = true 是否自动播放
innerAudioContext.src=“url” 音乐路径
方法 innerAudioContext.onPlay() 播放
InnerAudioContext.pause() 暂停

首先看一下我的目录结构

小程序实现背景音乐播放和暂停

我的照片放在了images里。主页面是ceshi.wxml ,音乐播放界面是index.wxml

开始上菜,ceshi.wxml

<button bindtap='click'>click me</button>

ceshi.js

click(){
 wx.navigateTo({
 url: '../index/index',
 })
 },

index.wxml

<!-- 背景音乐 -->
<view class='bgmView' catchtap='BGM'>
 <image wx:if='{{bgm}}' class='bgmImg {{bgmImgAni}}' src='/images/kaishi.png'></image>
 <image wx:else class='bgmImg' src='/images/zanting.png'></image>
</view>

index.wxss

/* 背景音乐 */

.bgmView {
 position: fixed;
 top: 20rpx;
 right: 20rpx;
 z-index: 99;
}

.bgmImg {
 width: 70rpx;
 height: 70rpx;
}

.bgmImgAni {
 animation: jumpball 4s infinite linear;
}

@keyframes jumpball {
 100% {
 transform: rotate(360deg);
 }

index.js

// 背景音乐
const innerAudioContext = wx.createInnerAudioContext()
Page({
 /**
 - 页面的初始数据
 */
 data: {
 mp3: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46',

 // 背景音乐
 bgm: false,
 },

 // 背景音乐
 BGM: function(e) {
 let that = this;
 if (that.data.bgm) {
  that.setData({
  bgm: false,
  })
  innerAudioContext.pause(); /** 暂停音乐 */

 } else {
  that.setData({
  bgm: true,
  bgmImgAni: "bgmImgAni"
  })
  
  // 播放音乐
  innerAudioContext.autoplay = true
  innerAudioContext.loop = true
  innerAudioContext.src = that.data.mp3;
  innerAudioContext.play()
 }
 },
 /**
 - 生命周期函数--页面卸载时
 */
 onUnload() {
 wx.setStorageSync("bgm", this.data.bgm)
 },
 /**
 - 生命周期函数--监听页面加载
 */
 onLoad: function(e) {
 var bgm = wx.getStorageSync("bgm")
 this.setData({
  bgm
 })
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

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

Javascript 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
May 07 Javascript
javascript日期格式化示例分享
Mar 05 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 Javascript
关于vue路由缓存清除在main.js中的设置
Nov 06 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
Vue通过provide inject实现组件通信
Sep 03 Javascript
详解vue 组件注册
Nov 20 Vue.js
小程序选项卡以及swiper套用(跨页面)
Jun 19 #Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 #Javascript
小程序实现多个选项卡切换
Jun 19 #Javascript
微信小程序 button样式设置为图片的方法
Jun 19 #Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 #Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
Jun 19 #Javascript
深入解读VUE中的异步渲染的实现
Jun 19 #Javascript
You might like
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
Python collections模块实例讲解
2014/04/07 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
在python中pandas的series合并方法
2018/11/12 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
python函数的作用域及关键字详解
2019/08/20 Python
python tkinter组件使用详解
2019/09/16 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
Emma Bridgewater官网:英国餐具制造商
2019/11/24 全球购物
数据库连接池的工作原理
2012/09/26 面试题
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
春季防火方案
2014/05/10 职场文书
答谢会策划方案
2014/05/12 职场文书
物理学专业求职信
2014/07/04 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL