小程序?qū)崿F(xiàn)背景音樂播放和暫停
本文實(shí)例為大家分享了小程序背景音樂,供大家參考,具體內(nèi)容如下
我做這個項(xiàng)目的需求,用到一個背景音樂的播放和暫停;
當(dāng)用戶點(diǎn)擊進(jìn)入音樂界面的時候用戶需要手動點(diǎn)擊播放對應(yīng)的音樂,那么播放以后推出音樂界面這個音樂還是處于播放狀態(tài),以及音樂的圖標(biāo)的狀態(tài)也一個是播放。so看看代碼吧!
那這里用到了一個新的api 知點(diǎn),wx.createInnerAudioContext,可以參考小程序官方文檔 wx.createInnerAudioContext
具體屬性
innerAudioContext.autoplay = true 是否自動播放
innerAudioContext.src=“url” 音樂路徑
方法 innerAudioContext.onPlay() 播放
InnerAudioContext.pause() 暫停
首先看一下我的目錄結(jié)構(gòu)
我的照片放在了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({ /** - 頁面的初始數(shù)據(jù) */ 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() } }, /** - 生命周期函數(shù)--頁面卸載時 */ onUnload() { wx.setStorageSync("bgm", this.data.bgm) }, /** - 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function(e) { var bgm = wx.getStorageSync("bgm") this.setData({ bgm }) }, })
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
小程序從手動埋點(diǎn)到自動埋點(diǎn)的實(shí)現(xiàn)方法
這篇文章主要介紹了小程序從手動埋點(diǎn)到自動埋點(diǎn)的實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01JavaScript實(shí)現(xiàn)日期格式化的方法匯總
日期是許多JavaScript應(yīng)用程序的基本組成部分,無論是在網(wǎng)頁上顯示當(dāng)前日期還是處理用戶輸入以安排事件,本文將探討在?JavaScript?中格式化日期的各種技術(shù),希望對大家有所幫助2023-06-06