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


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 相关文章推荐
node.js中的fs.close方法使用说明
Dec 17 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
JavaScript中两个字符串的匹配
Jun 08 Javascript
AngularJS 避繁就简的路由
Jul 01 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
Feb 05 Javascript
node 命令方式启动修改端口的方法
May 12 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
小程序实现左右来回滚动字幕效果
Dec 28 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
May 23 Javascript
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
小程序选项卡以及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
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
2013/04/23 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python实现移位加密和解密
2019/03/22 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
公司保密承诺书
2014/03/27 职场文书
小学运动会演讲稿
2014/08/25 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
ubuntu下常用apt命令介绍
2022/06/05 Servers