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


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 相关文章推荐
Extjs学习笔记之八 继承和事件基础
Jan 08 Javascript
使用原生JS实现弹出层特效
Dec 22 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
Dec 12 Javascript
原生js实现淘宝购物车功能
Jun 23 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
javascript回调函数详解
Feb 06 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
JavaScript类的继承多种实现方法
May 30 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 preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
javascript控制swfObject应用介绍
2012/11/29 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
python 设置文件编码格式的实现方法
2017/12/21 Python
python用户管理系统的实例讲解
2017/12/23 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
药品质量检测应届生求职信
2013/11/14 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
运动会方阵口号
2014/06/07 职场文书
青年文明号汇报材料
2014/12/23 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
python编写五子棋游戏
2021/05/25 Python
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python