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


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 相关文章推荐
JavaScript 在网页上单击鼠标的地方显示层及关闭层
Dec 30 Javascript
js调用图片隐藏&amp;显示实现代码
Sep 13 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
Mar 27 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
js控制div弹出层实现方法
May 11 Javascript
JS实现队列与堆栈的方法
Apr 21 Javascript
js canvas仿支付宝芝麻信用分仪表盘
Nov 16 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
Sep 23 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
Oct 26 Javascript
JavaScript实现密码强度实时验证
Mar 18 Javascript
vue路由结构可设一层方便动态添加路由操作
Aug 31 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-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
用js实现放大镜效果
2020/10/28 Javascript
python查看FTP是否能连接成功的方法
2015/07/30 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
怎样使用Python脚本日志功能
2016/08/14 Python
Python线程创建和终止实例代码
2018/01/20 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
python配置grpc环境
2019/01/01 Python
学习python分支结构
2019/05/17 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
Python如何实现定时器功能
2020/05/28 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
中软国际Java程序员机试题
2012/08/19 面试题
外贸业务员求职信范文
2013/12/12 职场文书
批评与自我批评材料
2014/02/15 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS