微信小程序如何实现一个音乐播放器
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,本篇内容主要讲解"微信小程序如何实现一个音乐播放器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"微信小程序如何实现一个音乐播放器"吧!推荐页完成标题栏后我
千家信息网最后更新 2024年11月30日微信小程序如何实现一个音乐播放器
本篇内容主要讲解"微信小程序如何实现一个音乐播放器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"微信小程序如何实现一个音乐播放器"吧!
推荐页
完成标题栏后我们开始编写推荐页,即mainView=1时所要显示的页面。
根据图10-2所示,推荐页由上方的轮播组件(banner)以及下方的电台列表两部分构成。
为了完成这个页面,我们先来看看网络请求返回的数据格式。
这里使用开源数据:
http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg
我们在services文件夹下创建music.js文件,在里面开始编写网络请求代码:
// 获取首页的音乐数据function getRecommendMusic(callback){ //请求所需数据 var data = { g_tk: 5381, uin: 0, format: 'json', inCharset: 'utf-8', outCharset: 'utf-8', notice: 0, platform: 'h6', needNewCode: 1, _: Date.now() }; wx.request({ //地址 url: 'http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg', //数据 data: data, //表示返回类型为JSON header: { 'Content-Type': 'application/json' }, success: function (res) { if (res.statusCode == 200) { callback(res.data) } else { } } });}module.exports = { getRecommendMusic:getRecommendMusic}复制代码通过这个请求,返回json格式的数据样式为:{ "code": 0, "data": { "slider": [ { "linkUrl": "http://share.y.qq.com/l?g=2766&id=1842365&g_f=shoujijiaodian", "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143566.jpg", "id": 8642 }, { "linkUrl": "http://y.qq.com/live/zhibo/0214liwen.html", "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143568.jpg", "id": 8645 }, { "linkUrl": "http://v.qq.com/live/p/topic/22876/preview.html", "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143569.jpg", "id": 8653 }, { "linkUrl": "http://y.qq.com/m/act/singer/index.html?ADTAG=shoujijiao", "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143571.jpg", "id": 8609 }, { "linkUrl": "http://y.qq.com/w/album.html?albummid=0035hOHV0uUWA9", "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143573.jpg", "id": 8607 } ], "radioList": [ { "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143574.jpg", "Ftitle": "热歌", "radioid": 199 }, { "picUrl": "https://cache.yisu.com/upload/ask_collection/20210725/111/143575.jpg", "Ftitle": "一人一首招牌歌", "radioid": 307 } ], "songList": [] }}
这里code为我们请求是否成功的标示,当它等于0时,表示请求成功。data里就是我们需要的数据,里面包含3个部分,我们需要使用的为前两个,即slider部分--为我们的轮播组件提供数据,以及radioList部分--为电台列表提供数据。 这两部分会分别以数组格式保存,通过名称来获取相应数据。
有了数据之后,我们开始编写显示数据的组件:
复制代码最外层使用view组件包裹,当currentView!=1时隐藏。轮播组件使用swiper组件来完成,设置是否显示指示点,是否自动播放,切换间隔以及滑动时间4个属性。每个swiper-item为图片,使用item.picUrl从slider里获取数据。电台部分使用列表格式,数据保存在radioList内。每个item包涵两个部分:图片和标题,以item.picUrl和item.Ftitle保存,此外还要保存每个item的ID(item.radioid)用于页面跳转。点击的响应事件定义为radioTap。至此我们需要的数据有:indicatorDots,autoplay,interval,duration,slider,radioList。我们把这些加入到index.js中的data里吧。//引用网络请求文件var MusicService = require('../../services/music');//获取应用实例var app = getApp()Page({ data: { indicatorDots: true, autoplay: true, interval: 5000, duration: 1000, radioList: [], slider: [], mainView: 1, }, onLoad: function () { var that = this; MusicService.getRecommendMusic(that.initPageData); },}) 电台 {{item.Ftitle}}
data写好后,我们在onLoad里调用我们写好的网络请求函数,传入的参数(that.initPageData)即当请求成功后需要执行的函数,在这个函数里我们为数组radioList和slider赋值。
initPageData: function (data) { var self = this; //请求成功再赋值,需要判断code是否为0 if (data.code == 0) { self.setData({ slider: data.data.slider, radioList: data.data.radioList, }) } },复制代码到此为止我们的页面应该可以显示数据了,最后一步我们要给写好的view添加点击事件radioTap,让用户点击后跳转到play(音乐播放)页面。radioTap: function (e) { var dataSet = e.currentTarget.dataset; ... },
在跳转的时候,我们需要通过已经获得的radioid向网络请求数据,返回歌曲列表,并且在播放页面加载这个列表,这一部分就留到音乐播放页再完成吧。
到此,相信大家对"微信小程序如何实现一个音乐播放器"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
音乐
组件
部分
页面
网络
成功
代码
格式
电台
播放器
程序
函数
文件
推荐
两个
事件
内容
图片
数组
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
明日之后的安卓服务器如何删除
农村承包地数据库汇交指南
建立数据库排序规则选什么
广州领闲互联网科技有限公司
关于网络安全手抄报a4纸
网络安全排查整治体会
经济社会有序网络安全
内蒙古网络安全二次会议
数据库管理系统也根据
pop管理服务器怎么填
安宁参考软件开发零售价格
北京网络安全监管中心
物联网gprs搭建服务器
夜狼直播服务器
沈阳雪人网络技术
宁可互联网科技有限公司
做券商网络安全的公司
高校网络安全工作思路
数据库配置内存分析
iptv网络打印服务器
软件开发wbs安装教程
商洛网络技术联系方式
杭州立盛软件开发有限公司
打印服务器 自制
企业网络安全准入系统
光纤输网络技术课后答案
企业软件开发专业设置
t3支持哪个版本的数据库
服务器读不出来usb
电话视频服务器