音乐小程序服务器端代码,QQ音乐微信小程序实例代码

这篇博客介绍如何开发一个类似QQ音乐的微信小程序,包括音乐搜索、播放列表和播放控制。提供了核心代码示例,展示了如何设置音乐URL、获取背景音频状态并实现播放和暂停功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想做一个功能齐全的类似QQ音乐的微信小程序,demo来了,可供大家参考,包含音乐搜索、音乐列表及播放停止

示例代码:

var util = require('../../utils/util.js')var app = getApp()Page({ data: { playingSong: {}, songUrl: '', songImg: '', songState: { progress: 0, currentPosition: '00:00', duration: '00:00' }, isPlaying: true, lyric: '' }, onLoad: function(){ console.log('playsong onLoad'); let that = this; let songdata = app.globalData.songData; that.setData({ playingSong: songdata, songUrl: 'http://ws.stream.qqmusic.qq.com/C100' + songdata.songmid + '.m4a?fromtag=38', songImg: 'http://y.gtimg.cn/music/photo_new/T002R150x150M000' + songdata.albummid + '.jpg', }); let thatData = that.data; wx.playBackgroundAudio({ dataUrl: thatData.songUrl, title: thatData.playingSong.songname, coverImgUrl: thatData.songImg, success: function(res){ //do something } }); }, onReady: function(){ console.log('playsong onReady'); let that = this; that.songPlay(); wx.onBackgroundAudioPlay(function(){ console.log('播放了'); that.songPlay(); }); }, timeToString: function(duration){ let str = ''; let minute = parseInt(duration/60) < 10 ? ('0'+ parseInt(duration/60)) : (parseInt(duration/60)); let second = duration%60 < 10 ? ('0'+duration%60) : (duration%60); str = minute+':'+second; return str; }, songPlay: function(){ let that = this; let inv = setInterval(function(){ wx.getBackgroundAudioPlayerState({ success: function(res){ if(res.status == 1){ that.setData({ isPlaying: true, songState: { progress: res.currentPosition/res.duration*100, currentPosition: that.timeToString(res.currentPosition), duration: that.timeToString(res.duration) } }) }else{ that.setData({ isPlaying: false }); clearInterval(inv); } } }); }, 1000); }, songToggle: function(){ let that = this; if(that.data.isPlaying){ wx.pauseBackgroundAudio(); }else{ wx.playBackgroundAudio({ title: that.data.playingSong.songname, coverImgUrl: that.data.songImg }); }; that.songPlay(); }})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值