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


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 相关文章推荐
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 Javascript
图片上传即时显示缩略图的js代码
May 27 Javascript
js常用排序实现代码
Dec 28 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
Mar 01 Javascript
js无刷新操作table的行和列
Mar 27 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
Sep 29 Javascript
谈谈JS中的!!
Dec 07 Javascript
vue引入ueditor及node后台配置详解
Jan 03 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 Javascript
layui 优化button按钮和弹出框的方法
Aug 15 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 Javascript
小程序选项卡以及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 curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
在Python的Django框架中编写错误提示页面
2015/07/22 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
python代码区分大小写吗
2020/06/17 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
python interpolate插值实例
2020/07/06 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
接待员岗位职责
2015/02/13 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
Go归并排序算法的实现方法
2022/04/06 Golang
MySQL 数据 data 基本操作
2022/05/04 MySQL