开篇语

昨晚发了一篇:

《简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 》

然后上午起来吃完午饭之后,我就准备继续开工的,但是突然的,想要看B站。然后在一股神奇力量的推动下,我找到了它:

《克苏鲁的呼唤 2005 580P中字 经典名篇完美还原》


然后促成了吃完午饭之后,沉迷其中不可自拔。下午写到四点半,才最终完成了我的近四千字的心血之作:

简年16: 初涉《克苏鲁的呼唤》--克苏鲁神话体系入门

可惜明珠暗投:

心灰意冷之下,百无聊赖的打开简书,然后惊喜的发现,这篇文章上了首页今日看点了。这算是一个慰藉?还是很不错的,所以促使了我来写这一篇文章,也就是接着这篇火热的文章的续集,Bug修复 以及更深层次的开发!

正文

本次由于态度没摆正,晚上又跟我的指路明灯学长聊天到八点多。然后又跟我的迷途羔羊说了会话!然后花了半个多小时测评一个免费的VPN (具体情形请去看我的另一篇文章)再来搞开发就是十点半了。时间不是很多,所以调教好的Bug也不多,但是还是有的!

一、音乐界面最上层的滑动banner

原本采用自己写函数的方式来触发,后来改用官方组件--swiper 进行调控:

改进代码如下(github未更新,请读者自行更改)


《---music.wxml》
<swiper class="swiper" indicator-dots="{{indicatorDots}}"
autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" width="100" height="10">
<swiper-item wx:for="{{imgUrls}}">
<image src="{{item}}" class="slide-image" class="banner" mode="fullToFill"/>
</swiper-item>
</swiper>

《---music.js》

Page(
{
onReady: function (e) {
// 使用 wx.createAudioContext 获取 audio 上下文 context
this.audioCtx = wx.createAudioContext('myAudio')
}, data: { count:1,
imgUrls: [
'http://159.203.250.111/banner1.png',
'http://159.203.250.111/banner2.png',
'http://159.203.250.111/banner3.png',
],
indicatorDots: false,
autoplay: true,
interval: 2000,
duration: 1000, },
audioPlay: function () {
this.audioCtx.play()
},
audioPause: function () {
this.audioCtx.pause()
},
audio14: function () {
this.audioCtx.seek(14)
},
audioStart: function () {
this.audioCtx.seek(0) }, changeIndicatorDots: function(e) {
this.setData({
indicatorDots: !this.data.indicatorDots
})
},
changeAutoplay: function(e) {
this.setData({
autoplay: !this.data.autoplay
})
},
intervalChange: function(e) {
this.setData({
interval: e.detail.value
})
},
durationChange: function(e) {
this.setData({
duration: e.detail.value
})
}, onShareAppMessage: function () {
return {
title: '欢迎使用颜大傻牌音乐播放器',
desc: '将你正在听的歌分享到~~~',
path: '/page/music/music.js'
}
}, })

二、增置了上一首下一首切歌功能

目前还在调试,官方给定的逻辑选择模块我还没吃透。敬请见谅!目前有了一点头绪,代码在下面。(PS:最新消息,制作成功!哈哈。可以流利的播放各种音乐了!!!我还在制作目录,请诸君稍后!)

《---music.wxml》

<block wx:for="{{song}}" wx:key="id">
<block wx:if="{{item.musicid==count}}"> <audio poster="{{item.poster}}" name="{{item.name}}" author="{{item.author}}" src="{{item.src}}" id="myAudio" controls="true" > <button plain="true" type="primary" bindtap="audioPlay" class="button_anniu">开始播放</button>
<button type="primary" bindtap="audioPause" class="button_anniu">暂停</button>
<button type="primary" bindtap="audio14" class="button_anniu">设置当前播放时间为14秒</button>
<button type="primary" bindtap="audioStart" class="button_anniu">停止</button>
<button bindtap="NextMusic" class="button_anniu"> 上一首 </button>
<button bindtap="LastMusic" class="button_anniu"> 下一首 </button>
</audio>
</block>
</block>

《---music.js》



  data: {

    song:[{
musicid:1,
poster:'http://159.203.250.111/Carly.png',
name:'Call_Me_Baby',
author: 'Carly_Rae_Jepsen',
src:'http://159.203.250.111/Call_Me_Baby.mp3',
}, {
musicid:2,
poster:'http://159.203.250.111/carly.png',
name:'Good_Time',
author: 'Carly_Rae_Jepsen',
src:'http://159.203.250.111/Good_Time.mp3',
}, { musicid:3,
poster:'http://159.203.250.111/five1.png',
name:'Maps',
author: 'Marron 5',
src:'http://159.203.250.111/maps.mp3',
}, { musicid:4,
poster:'http://159.203.250.111five2.png',
name:'Animals',
author: 'Marron 5',
src:'http://159.203.250.111/Animals.mp3',
}, { musicid:5,
poster:'http://159.203.250.111/five3.png',
name:'Sugar',
author: 'Marron 5',
src:'http://159.203.250.111/Sugar.mp3',
}, ], count:1,
imgUrls: [
'http://159.203.250.111/banner1.png',
'http://159.203.250.111/banner2.png',
'http://159.203.250.111/banner3.png',
],
indicatorDots: false,
autoplay: true,
interval: 2000,
duration: 1000, },
audioPlay: function () {
this.audioCtx.play()
},
audioPause: function () {
this.audioCtx.pause()
},
audio14: function () {
this.audioCtx.seek(14)
},
audioStart: function () {
this.audioCtx.seek(0) }, NextMusic: function(e) {
this.setData({
count: this.data.count + 1
})
}, LastMusic: function(e) {
this.setData({
count: this.data.count - 1
})
}, onShareAppMessage: function () {
return {
title: '欢迎使用颜大傻牌音乐播放器',
desc: '将你正在听的歌分享到~~~',
path: '/page/music/music.js'
}
}, })

结束语

小程序算是假期的一个调剂吧,不然可能就真的天天看小说,然后逛逛B站了。然后,我觉得我有必要show一下我的工作环境,最近都有点不想走人家,天天在家写代码了~~~~说好的今天去一个姑奶奶家,可是起床的时候已经是十点多了。外边还在下着蒙蒙小雨~没辙,今天是腐败堕落的一天!!!

但是明天我就要去同学聚会了,在县城,娘的,还要七点多起来搭车!虽然对像是一群男的。但是也还是要洗个澡换件衣服出门!这又把我的起床时间提前到六点半了 ** T_T ** 心塞!争取明天把电脑带上,然后找时间休息的时候继续出文吧!寒假快结束了。保持的好习惯多保留一天是一天啊!


大神的作品就不安利了。我自己写完的这些,我觉得应该比之前说的一些膜拜的作品要优秀了。

真正的主体(想看完整的代码,猛戳下面的链接吧!!)在这:

简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器

另外,对于有翻墙外出的需求的朋友,我刚才写了一篇免费180天优秀VPN的文章可供借鉴:

简年17: 免费的VPN 以及几种网络链接的测评

![我的工作环境,我觉得我越来越有程序员的气息了
~yeah yeah yeah](//upload-images.jianshu.io/upload_images/3810775-8a865a8876f6418c.gif?imageMogr2/auto-orient/strip)

个人宣言

知识传递力量,技术无国界,文化改变生活!

微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复的更多相关文章

  1. 微信小程序购物商城系统开发系列-目录结构

    上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的 ...

  2. 微信小程序购物商城系统开发系列-工具篇

    微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统.新的生态,未来大部分应用场景都将 ...

  3. 微信小程序购物商城系统开发系列

    微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...

  4. 从微信小程序到鸿蒙js开发【11】——页面路由

    目录: 1.router.push()&wx.navigateTo() 2.router.replace()&wx.redirectTo() 3.router.back()&w ...

  5. 从微信小程序到鸿蒙js开发【15】——JS调用Java

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1.新建一个Service Ability2.完善代码逻辑3.JS端远程调用4.<从微信小 ...

  6. 微信小程序版博客——开发汇总总结(附源码)

    花了点时间陆陆续续,拼拼凑凑将我的小程序版博客搭建完了,这里做个简单的分享和总结. 整体效果 对于博客来说功能页面不是很多,且有些限制于后端服务(基于ghost博客提供的服务),相关样式可以参考截图或 ...

  7. 从微信小程序到鸿蒙js开发【12】——storage缓存&自动登录

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口] 正文: 在应用开发时,我们常需要将一些数据缓存到本地,以提升用户体验.比如在一个电商的app中,如果希望用户登录成功后,下次打 ...

  8. 从微信小程序到鸿蒙js开发【13】——list加载更多&回到顶部

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口] 目录: 1.list加载更多 2.list回到顶部 3.<从微信小程序到鸿蒙js开发>系列文章合集 1.list加 ...

  9. 微信小程序客服消息开发实战:实时在手机上接收小程序客服消息通知,以及在手机上回复

    在微信小程序开发中,可以非常方便的集成客服功能,只需要一行代码便可以将用户引导至客服会话界面.这行代码就是: <button open-type="contact" bind ...

随机推荐

  1. 新安装mysql 第三方工具连接不上问题

    Mysql从客户端连接服务器连不上的问题   公司要用Mysql做一个测试,开始在自己的本地建一个Mysql数据库自己本地的程序再连上去,没有遇到过连接不上的问题.这次数据库在服务器上,从本地客户端连 ...

  2. 5.VBS的一些约定,提高可读性

    1.变量命名约定 2.变量作用域 1)过程级,在事件中,函数或者子过程中 2)Script级,在head部分 原则,定义尽量小的作用域 3.在某个过程开头应该包括这些注释

  3. php生成Excel表格

    //引用新建对象<br>require "../phpexcel/Classes/PHPExcel.php"; $excel = new PHPExcel(); 建表格 ...

  4. bootstrap轮播和百叶窗

    轮播 在bootstrap里面,有设置的图片轮播的代码: <div id="carousel-example-generic" class="carousel sl ...

  5. 基于Json序列化和反序列化通用的封装

    1. 最近项目已经上线了 ,闲暇了几天 想将JSON的序列化以及反序列化进行重新的封装一下本人定义为JSONHelp,虽然Microsoft 已经做的很好了.但是我想封装一套为自己开发的项目使用.方便 ...

  6. python编程快速上手之第4章实践项目参考答案

    #!/usr/bin/env python3.5 # coding:utf-8 # 假定有一个列表,编写函数以一个列表值作为参数,返回一个字条串 # 该字符串包含所有表项,之间以逗号和空格分隔,并在最 ...

  7. 《JavaScript高级程序设计》 -- 基本概念(一)

    之前看过好几遍<JavaScript高级程序设计>这一书,但是始终没有完完整整的看过一遍.从现在开始我会把它完整的啃一遍,每章节都记录笔记,自己的心得,加油! 由于前三章的内容比较简单,因 ...

  8. 使用ajax方法实现form表单的提交(附源码)

    写在前面的话 在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说 ...

  9. Java基础语法<十一> 异常 断言 日志 调试

    1 处理错误 1.1 异常分类 Error类层次描述了Java运行时系统的内部错误和资源耗尽错误. 设计Java程序时,主要关注Exception层次结构. 由程序错误导致的异常属于RuntimeEx ...

  10. 使用Vue-resource完成交互

    使用vue-resource 引入vue-resource vue-resource就像jQuery里的$.ajax,是用来跟后端交互数据的,vue-resource是vue的一个插件,所以我们在开始 ...