微信小程序如何实现一个音乐播放器
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,本篇内容主要讲解"微信小程序如何实现一个音乐播放器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"微信小程序如何实现一个音乐播放器"吧!推荐页完成标题栏后我
千家信息网最后更新 2024年11月13日微信小程序如何实现一个音乐播放器
本篇内容主要讲解"微信小程序如何实现一个音乐播放器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"微信小程序如何实现一个音乐播放器"吧!
推荐页
完成标题栏后我们开始编写推荐页,即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安全错误
数据库的锁怎样保障安全
计算机网络技术专业基础课程
地平线4微软服务器
天津网信办网络安全员
服务器死机 自动重启
天津私人服务器虚拟主机
安全狗云服务器防火墙
数据库表结构改变怎么还原数据
俄罗斯乌克兰网络安全事件
网络安全黑板报边框
刺激战场游戏服务器地图
大一数据库考试试题和答案
传统的软件开发模型主要有
与ntp服务器连接
南通idc服务器厂商
数据库视图总计
服务器电缆管理臂
机算机网络技术前景
web服务器项目怎么描述
我的世界服务器封面怎么解除
网络安全朗读文章
计算机网络技术困难吗
scala可以做web服务器吗
欧迪办公网络技术
greenplum数据库演示
网络安全的行业组织
网络安全彩色简笔画
网络技术实习报告表
用数据库建立文件夹
内蒙古通讯软件开发创意
驻马店市委网络安全