当前位置: 首页 > 编程日记 > 正文

微信小程序万里目_微信小程序学习用推荐:破音万里:音频播放,音乐列表

[AppleScript]

let bsurl = 'https://poche.fm/api/app/playlists' var common = require('../../../utils/util.js'); let seek = 0 let defaultdata = { winWidth: 0, winHeight: 0, listHeight: 0, // tab切换 currentTab: 0, // 播放列表 playlists: [], tracks: [], coverImgUrl: "../../../imgs/icon.jpg", nowPlayingTitle:"请选择歌曲", nowPlayingArtist: "", playing:false, playtime: '00:00', duration: '00:00', percent: 1, lrc: [], lrcindex: 0, showlrc: false, disable: false, downloadPercent: 0, curIndex: 0, initial: true, shuffle: 1, music: {} } //获取应用实例 let app = getApp() Page({ data: defaultdata, onLoad: function(options) { var that = this; wx.request({ url: bsurl, success: function (res) { that.setData({ listHeight: res.data.length * 230, playlists: res.data, loadingHide:true }) } }) //获取系统信息 wx.getSystemInfo( { success: function( res ) { that.setData( { winWidth: res.windowWidth, winHeight: res.windowHeight }) } }) // 获取上次播放数据 let index = wx.getStorageSync('curIndex') let tracks = wx.getStorageSync('tracks') if (tracks) { let track = tracks[index] that.setData( { curIndex: index, tracks: tracks, coverImgUrl:track.cover, nowPlayingArtist: track.artist, nowPlayingTitle: track.name, }) } //监听停止,自动下一首 wx.onBackgroundAudioStop(function(){ that.playnext(); }) }, bindChange: function(e) { var that = this; that.setData( { currentTab: e.detail.current }); }, swichNav: function(e) { var that = this; if( this.data.currentTab === e.target.dataset.current ) { return false; } else { that.setData( { currentTab: e.target.dataset.current }) } }, // 跳转下一页 tracks: function(event) { var index = event.currentTarget.id var playlist = this.data.playlists[index] var p = playlist.id var title = playlist.title wx.navigateTo({ url: '../tracks/index?id=' + p + '&title=' + title }) }, // 接收点击数据 changeData: function(tracks, index) { var curMusic = tracks[index] this.setData({ curIndex: index, tracks: tracks, coverImgUrl:curMusic.cover, nowPlayingArtist: curMusic.artist, nowPlayingTitle: curMusic.name, playing: true, music: curMusic }) app.globalData.curplay.id = curMusic.id //存储当前播放 wx.setStorageSync("curIndex", index) wx.setStorageSync("tracks", tracks) app.seekmusic(1) }, //播放方法 playingtoggle:function(){ var that = this if (this.data.initial) { // this.play(this.data.tracks, this.data.curIndex) this.setData({ initial: false }) app.seekmusic(1) return } if (this.data.playing) { that.setData({ playing: false }) app.stopmusic(1) } else { app.seekmusic(1, function () { that.setData({ playing: true }) }, app.globalData.currentPosition) } }, playnext: function (e) { if (this.data.initial) { this.setData({ initial: false }) } let shuffle = this.data.shuffle let count = this.data.tracks.length let lastIndex = parseInt(this.data.curIndex) if (shuffle == 3) { //随机播放 lastIndex = Math.floor(Math.random() * count) } else if (shuffle == 1) { if (lastIndex == count - 1) { lastIndex = 0 } else { lastIndex = lastIndex + 1 } } this.changeData(this.data.tracks, lastIndex) }, playprev: function (e) { if (this.data.initial) { this.setData({ initial: false }) } let shuffle = this.data.shuffle let lastIndex = parseInt(this.data.curIndex) let count = this.data.tracks.length if (shuffle == 3) { //随机播放 lastIndex = Math.floor(Math.random() * count) } else if (shuffle == 1) { if (lastIndex == 0) { lastIndex = count - 1 } else { lastIndex = lastIndex - 1 } } this.changeData(this.data.tracks, lastIndex) }, playshuffle: function() { if (this.data.shuffle == 1) { this.setData({ shuffle: 2 }) return } if (this.data.shuffle == 2) { this.setData({ shuffle: 3 }) return } if (this.data.shuffle == 3) { this.setData({ shuffle: 1 }) } }, onShow: function () { var that = this app.globalData.playtype = this.data.shuffle common.playAlrc(that, app); seek = setInterval(function () { common.playAlrc(that, app); }, 1000) }, })

相关文章:

11月11日截止报名!快来参加顶尖极客汇聚的“AI Challenger 全球AI挑战赛”!

“AI Challenger 全球AI挑战赛”是面向全球人工智能人才的开源数据集和编程竞赛平台,致力于满足AI人才成长对高质量丰富数据集的需求,推动AI在科研与商业领域结合来解决真实世界的问题。AI Challenger以服务、培养AI人才为使命,打造良性可持续…

Asp.net下实现隐藏真实下载地址(可以实现简单的防盗链)

现在随着FlashGet和xunlei等下载工具的日益普及,下载网站的一些下载地址都能直接被捕获到,,但是有些时候为了防盗链或权限限制不想对地址进行暴露,对于Asp.net下的防盗链有很多方法,我这里写了一种(51aspx的…

大众点评数据平台架构变迁

2019独角兽企业重金招聘Python工程师标准>>> 最近和其他公司的同学对数据平台的发展题做了一些沟通,发现各自遇到的问题都类似,架构的变迁也有一定的相似性。 以下从数据&架构&应用的角度对2012.07-2014.12期间大众点评数据平台的架构…

无人驾驶汽车系统入门:基于深度学习的实时激光雷达点云目标检测及ROS实现...

参加 2018 AI开发者大会,请点击 ↑↑↑作者:申泽邦(Adam Shan),兰州大学在读硕士研究生,主要研究方向无人驾驶,深度学习;兰大未来计算研究院无人车团队负责人,自动驾驶全…

sendmail服务器配置过程中出现的一些错误和解决办法

sendmail服务器配置过程中出现的错误和解决办法 以前在做实验的过程中总结和写的一些教程的一些资料,一直没时间发布到博客上面,五一到了,终于有点时间发布啦!关于Linux上面还会有RHCE系列的学习笔记发表 1、rpm包不能正常卸载&am…

python多功能电子钟_python gui - PyQt4 精彩实例分析之电子钟

PyQt4 精彩实例分析之电子钟,当然在写实例之前要先安装PyQt4模块。from PyQt4.QtGui import *from PyQt4.QtCore import *import sysclass DigiClock(QLCDNumber):def __init__(self,parentNone):super(DigiClock,self).__init__(parent)pself.palette()p.setColor(…

编译安装Zabbix 2.2 (LNMP环境)

说明:操作系统:CentOS7环境:mysql5.6PHP5.5Nginx1.12Zabbix版本:Zabbix2.2编译安装确实比YUM安装麻烦好多些,但是为了加强对Zabbix的理解,编译安装还是很有意义的,毕竟这样自己能很清楚安装路径…

凸透镜成像实验软件_中考物理凸透镜成像难点解析

凸透镜一直以来都是中考物理上考察的重点内容,生活中也有很多凸透镜成像的例子,如照相机成像。那么凸透镜成像这类问题该如何解答呢?小编为你整理了凸透镜成像的难点,让你能在遇到这类问题时能够全部解答出来。一、凸透镜对光的作…

总奖金300万的AI Challenger 2018进入第二阶段,决赛在即!

参加 2018 AI开发者大会,请点击 ↑↑↑此前,AI科技大本营曾报道过奖金池高达 300 万元的 AI Challenger 2018 比赛。与往届不同,今年的比赛共有 5 个主赛道,5 个实验赛道。其中,5 个主赛道的数据集包括:观点…

如何做好中层领导

中层经理人不论是作为一名执行者、还是一名领导者,都必须通过别人来完成任务。要做个“服众”的经理人,应该有意识地提高以下八项能力: 1. 领悟能力 做任何一件事以前,一定要先弄清楚上司希望你怎么做,然后以此为目标来…

200行代码,一行行教你自制微信机器人

参加 2018 AI开发者大会,请点击 ↑↑↑作者|上海小胖,四大咨询的TechLead,mongoDB Professional 获得者。「Python专栏」专注Python领域的各种技术:爬虫、DevOps、人工智能、Web开发等。还有「大航海计划」,各种内推活…

只有你想不到,没有它做不到——可随时变身的模块化机器人

默默单干不如灵活协作 独立单干虽自由灵活,但是和牛逼队友协作完成任务却是一件更美好、高效的事情。这不是只适用于人类社会的定律,在机器人世界里依然如此。 雷锋网消息,近日,著名英国杂志Nature Communications报道了一项关于协…

dlib 怎么安装vs2017_VS2017(Visual Studio2017) 搭建QT5开发环境

VS创建QT工程并添加到GitHub中大家好!欢迎打开并阅读本文,这次咱们说说怎么在VS中创建一个QT项目并且放到GitHub中吧因为GitHub或者码云Gitee都是一个很好的提供代码托管的地方对吧将自己的项目开源到上面,如果项目很好的话,肯定能收获到很多…

ASP.net 2.0中水晶报表迁移部署问题

asp.net 2.0的水晶报表,在迁移机器的时候,如果目标机器没有相应的程序集,在IIS中会报错。错误描述:Parser Error Description: An error occurred during the parsing of a resource required to service this request. Please re…

MySQL数据类型--------字符串类型实战

1. 背景 * MySQL支持的字符串类型有CHAR、VARCHAR、二进制、var二进制、BLOB、文本等等。 2. 字符串类型所需的存储和值范围 类型说明N的含义是否有字符集最大长度CHAR(N)定义字符字符是255VARCHAR(N)变长字符字符是16384BINARY(N)定长二进制字节字节否255VARBINARY(N)变长二进…

android怎么监听多点触摸_什么是多点触控技术,有哪些用途

自从乔布斯将触控技术用于苹果手机上,很多的手机厂商纷纷效仿,触控技术几乎成为手机的“标配”。其实,触控技术早就存在,只是一直未能大面积用于各种设备中,本文将带您认识神奇的触控技术。并非只有手机上可以看到触控…

帮AI摆脱“智障”之名,NLP这条路还有多远?

CSDN 出品的《2018-2019 中国人工智能产业路线图》V2.0 版即将重磅面世! V1.0 版发布以来,我们有幸得到了诸多读者朋友及行业专家的鼎力支持,在此表示由衷感谢。此次 V2.0 版路线图将进行新一轮大升级,内容包括 3 大 AI 前沿产业趋…

分页控件 WebPager [ZT]

两个类文件,点这里下载DLL文件>WebPager.dll1、 WebPager.csusing System;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel; [assembly:TagPrefix("WebPager", "wp")]namespace Xiaoqia…

typedef interrupt void (*PINT)(void)的分析

今天写程序时,在DSP2833x_PieVect.h看到typedef interrupt void (*PINT)(void)突然一愣,上网查了下发现在这是加了interrupt 中断关键字的函数指针,顺便记一下并复习一下函数指针。 本文参照下面的博客整理而来 http://blog.csdn.net/lg2lh/a…

webpack打开项目命令_配置webpack中dev.env.js、prod.env.js,解决不同命令下项目启动和打包到指定的环境...

前后端分离的项目开发中,我们有开发环境、测试环境、预生产环境和生产环境。1、开发环境下调试接口的时候,一般都会有好几个接口地址(开发服务器上的,本地的,接口开发人员的,七七八八的接口地址),要根据情况…

倒计时2天,如何搭乘通往AI全明星技术盛宴的末班车?(附大会完整版全日程)...

在操作系统、芯片领域跌倒的中国程序员,如何崛起?| 畅言GitHub服务中断24小时11分钟事故分析报告大咖指路:机器学习人才这些方向最紧缺!以太坊2.0? 亲历3天的Devcon我看到了这样一个以太坊 | 见闻录土味纪实文学 | 四十五度角仰望…

ASP.NET Web页面(.aspx)添加用户控件(.ascx)无显示的问题

写好的用户控件点击视图显示没有问题&#xff0c;但是将控件添加到Web窗体上时却显示如下图标:F5运行&#xff0c;查看源代码:有代码——但是页面却显示一片空白。分析代码&#xff0c;比较了一下能显示用户控件的其他web页面以及代码,发现只有如下代码不同:<script languag…

AI芯片的“战国时代”:计算力将会驶向何方?

CSDN 出品的《2018-2019 中国人工智能产业路线图》V2.0 版即将重磅面世&#xff01;V1.0 版发布以来&#xff0c;我们有幸得到了诸多读者朋友及行业专家的鼎力支持&#xff0c;在此表示由衷感谢。此次 V2.0 版路线图将进行新一轮大升级&#xff0c;内容包括 3 大 AI 前沿产业趋…

python 累积正态分布函数_为什么机器学习都围绕正态分布进行讨论?

作者 | Farhad Malik译者 | Monanfei责编 | 夕颜出品 | AI科技大本营(ID: rgznai100)为什么正态分布如此特殊&#xff1f;为什么大量数据科学和机器学习的文章都围绕正态分布进行讨论&#xff1f;我决定写一篇文章&#xff0c;用一种简单易懂的方式来介绍正态分布。在机器学习的…

Silverlight开发中遇到的几个小问题

1&#xff0c;程序发布时遇到错误&#xff1a; "Could not load type System.ServiceModel.Activation.HttpModule from assembly System.ServiceModel, Version3.0.0.0, Cultureneutral, PublicKeyTokenb77a5c561934e089" 可能引发此问题的原因&#xff1a; 安装.N…

最新DynamipsGUI2.8[模拟器]发布!(中文版-英文版下载)

DynamipsGUI2.8发布!2.0beta新增功能1.支持分布式Dynamips&#xff0c;最多支持9台PC联合进行路由交换模拟(可能存在问题,请测试提出问题)2.设备支持数量增加至路由器44台,交换机44台,适应超大型环境模拟3.支持2691,3725,3745(可能存在问题,请测试提出问题)4.集成最新dynamips-…

ue4 函数和宏区别_【UE4】通俗易懂 用蓝图来学习 C++ 基础知识

【前言】&#xff1a;用老罗来学UE蓝图&#xff1a;https://zhuanlan.zhihu.com/p/135297007​zhuanlan.zhihu.com再开个脑洞&#xff0c;用蓝图来类比学习C基础知识。C 刚开始学&#xff0c;所以本篇知识点不是特别全有些地方也可能不是特别准&#xff0c;望谅解&#xff0c;以…

c#自动登录网页,浏览页面

需求&#xff1a;客户的数据同时存在在另外一个不可控的系统中&#xff0c;需要和当前系统同步。 思路&#xff1a;自动登录另外一个系统&#xff0c;然后抓取数据&#xff0c;同步到本系统中。 技术点&#xff1a;模拟用户登录&#xff1b;保存登录状态&#xff1b;抓取数据 程…

用Servlet获取表单数据

1 //accept.jsp2 package servlets;3 4 import java.io.*;5 import javax.servlet.*;6 import javax.servlet.http.*;7 public class accept extends HttpServlet8 { 9 public String codeToString(String str) 10 {//处理中文字符串的函数 11 String sstr; 12 …

品质检测破局:工业视觉检测云平台为智能制造“点睛”

微波炉角落里的型号编码、空调背面不显眼的小螺钉、冰箱侧身的标签&#xff0c;它们的质量检测是生产线中最费人工的地方&#xff0c;也是制约智能制造的老大难。如果哪天这类瑕疵检测不再需要人工&#xff0c;这样的制造就真的称得上智能。最近&#xff0c;这一难题被美的和英…