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


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动态调整iframe高度的代码
Apr 10 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
Javascript 是你的高阶函数(高级应用)
Jun 15 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
angular directive的简单使用总结
May 24 Javascript
vue表单绑定实现多选框和下拉列表的实例
Aug 12 Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 Javascript
详解封装基础的angular4的request请求方法
Jun 05 Javascript
uniapp开发小程序的经验总结
Apr 08 Javascript
Node实现搜索框进行模糊查询
Jun 28 Javascript
分享一个vue实现的记事本功能案例
Apr 11 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读取目录及子目录下所有文件名的方法
2014/10/20 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
Open and Print a Word Document
2007/06/15 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
基于Python的关键字监控及告警
2017/07/06 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
python爬取天气数据的实例详解
2020/11/20 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
Java语言的优势
2015/01/10 面试题
仓库管理专业个人自我评价范文
2013/11/11 职场文书
化学教师自荐信范文
2013/12/28 职场文书
地震捐款倡议书
2014/08/29 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
求职简历自我评价范文
2015/03/10 职场文书
公司职员入党自传书
2015/06/26 职场文书
mysql知识点整理
2021/04/05 MySQL
Nginx限流和黑名单配置
2022/05/20 Servers