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

 更新时间:2020年06月19日 16:07:14   作者:Rechal_Mei  
这篇文章主要为大家详细介绍了小程序实现背景音乐播放和暂停,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了小程序背景音乐,供大家参考,具体内容如下

我做这个项目的需求,用到一个背景音乐的播放和暂停;
当用户点击进入音乐界面的时候用户需要手动点击播放对应的音乐,那么播放以后推出音乐界面这个音乐还是处于播放状态,以及音乐的图标的状态也一个是播放。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
 })
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • html5+CSS 实现禁止IOS长按复制粘贴功能

    html5+CSS 实现禁止IOS长按复制粘贴功能

    因为在移动端APP需要实现长按执行别的事件,但是在iOS系统有默认的长按选择复制粘贴。禁止在网上找了很多资料,下面小编给大家分享解决方案,一起看看吧
    2016-12-12
  • JS学习笔记之贪吃蛇小游戏demo实例详解

    JS学习笔记之贪吃蛇小游戏demo实例详解

    这篇文章主要介绍了JS学习笔记之贪吃蛇小游戏demo,结合实例形式详细分析了javascript实现贪吃蛇小游戏的原理、步骤与相关实现技巧,需要的朋友可以参考下
    2019-05-05
  • js实现上下左右键盘控制div移动

    js实现上下左右键盘控制div移动

    这篇文章主要为大家详细介绍了js实现上下左右键盘控制div移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • JS实现方形抽奖效果

    JS实现方形抽奖效果

    这篇文章主要为大家详细介绍了JS实现方形抽奖效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 30分钟快速掌握Bootstrap框架

    30分钟快速掌握Bootstrap框架

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。接下来通过本文给大家介绍如何快速掌握Bootstrap,感兴趣的朋友一起学习吧
    2016-05-05
  • nullJavascript中创建对象的五种方法实例

    nullJavascript中创建对象的五种方法实例

    今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!
    2013-05-05
  • JS如何实现封装列表右滑动删除收藏按钮

    JS如何实现封装列表右滑动删除收藏按钮

    这篇文章主要介绍了JS如何实现封装列表右滑动删除收藏按钮,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • uniapp项目打包为桌面应用的方法步骤

    uniapp项目打包为桌面应用的方法步骤

    本文主要介绍了uniapp项目打包为桌面应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • JS实现灯泡开关特效

    JS实现灯泡开关特效

    这篇文章主要为大家详细介绍了JS实现灯泡开关特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • JS代码实现table数据分页效果

    JS代码实现table数据分页效果

    这篇文章主要介绍了JS代码实现table数据分页效果的相关资料,非常不错,代码简答易懂,非常实用,需要的朋友可以参考下
    2016-05-05

最新评论