微信邦

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3911|回复: 1

《微信公众平台入门到精通》Vol.20

[复制链接]
发表于 2013-10-8 08:50:01 | 显示全部楼层 |阅读模式

《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

    前两天上线的ZTalk音乐盒子颇受好评,很多朋友都在后台求教程求源码,虽然这个播放器的开发比较复杂,但既然大家有兴趣,那我就写下开发步骤吧,全部教程会分为三次,里面牵扯的除了PHP编程外,还有JS开发,今天先讲前端静态页面的代码。


        源码请在公众号里输入“微信代码”查看下载连接,然后将下载链接自己想办法搞到PC上然后再下载,下载后上传到自己sae里就可以直接在浏览器运行,当然你也可以在微信里通过链接来查看。


建议先下载安装了再看文章,以下是注意事项:


1、audio.html是播放器的前端静态展示页。


2、image目录里是播放器要用到的图片,比如播放、暂停、背景等,和一些JS插件,包括了jquery框架。


3、image目录里可以修改的就是common.css,这个是播放器的样式文件,如果有CSS基础的同学可以自己修改。


4、image目录下可替换图片:

bg0.jpg 页面背景图片

coverbg.png 播放器默认背景图片




第十五章    微信音乐播放器开发


一、Html5的audio组件


HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用。


在sae的代码管理里新建一个HTML页面,命名为test.html。

《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20


html5的页面最基本的框架如下,橙色字为文档声明,有了这个就表明这是一个html5的页面。


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20



在<body></body>中添加一个音频元素:


<audio src="http://www.eduhope.cn/yx2011/audio_hi.mp3" controls="controls" autoplay="autoplay"></audio>


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

在谷歌Chrome浏览器中访问这个url,效果如下:


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

controls指的是用户控制界面,所以我们可以在Web页面中看到上面这个操作面板,包括播放和暂停,播放进度条,音量进度条,和进度时间显示等。autoplay 指的是自动播发已加载的媒体文件,所以我们一打开页面就可以直接播放了


无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道和一些元数据,这些是和你的视频或者音频控件绑定到一块的,这样才形成了一个完整的播放组件。


不过由于html5的标准还不统一,还有部分安卓系统内置浏览器是阉割了这些组件的,所以使用安卓手机的朋友如果在微信内置浏览器里无法欣赏音乐的,可以点击右上角分享按钮选择复制连接,然后到QQ浏览器里打开


二、设计个性的音乐播放器


使用浏览器默认的播放器肯定不够高端大气上档次,因此我们要自己设计一款音乐播放器,美工这块我就不写了,自己发挥吧……重点说下静态页面的结构。


在sae里打开audio.html文件,头部比前面的H5基本结构多了很多代码,不要慌我给大家解释下。


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

第4行是定义该网页的类型和编码,决定浏览器将以什么形式、什么编码读取这个文件,这里是告诉浏览器这是一个html文件,用的UTF8编码。


第5行是这个页面的标题,会显示在浏览器的头部。


第6行是文档作者,就是我了。


第7行是控制屏幕大小的,width 页面宽度,nitial-scale - 初始的缩放比例,minimum-scale - 允许用户缩放到的最小比例,user-scalable - 用户是否可以手动缩放。这段代码用来限制播放器的显示大小与手机屏幕一致,不能缩放。


第9行是载入样式文件


第10、11、12行载入JS插件,其中common.js里是播放器控制JS代码,具体内容会放到最后一期讲。


进入页面主题首先是播放器结构,如下图:


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20


第16行是整个播放器的容器,规定了这个播放器的大小和位置,以及播放器的背景,这里提下如何把播放器绝对居中,CSS代码如下:


position:absolute;padding:5px;top:50%; margin-top:-155px; left:50%;width:300px;height:300px; margin-left:-155px;


此容器为相对于网页绝对定位,宽高为300px,内边距5px,整体大小为310*310px,距离页面的顶部和左边都为50%距离,然后通过外边距负155px让容器向顶部和左边移动一半的容器大小,这样就绝对居中了。


第17行唱片封面,叠加了一个背景图片。这里可能有人说为什么不直接用播放器容器背景图做唱片封面,这里主要是唱片封面是经常要切换的,网速不给力的话会出现一块空白不好看。


第18、19行喜欢按钮、列表按钮,也是使用了绝对定位,当然这个定位是相对于播放器容器的。


第20行播放控制区块,这里有个黑色渐变背景图案叠加在唱片封面图片,以突出显示歌曲标题、名字等信息。


第21、22行歌曲标题和歌手名字


第23到28行播放进度条区域,这里有两个div,pgbuf是歌曲缓存载入进度,pgtime是歌曲播放进度。


第29到30行前进、播放和后退播放按钮,播放按钮可以通过playbtn、pausebtn两个样式切换变为暂停按钮。


第37行歌曲的说明。


第38行Audio播放组件,这里给组件命名为song_player,然后就可以通过JS来控制这个播放组件,进行播放暂停操作,获取播放进度等。


第39行页面底部的版权信息


然后是歌曲列表部分,如下图:


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

第40行歌曲列表容器,自适应宽度,默认隐藏。


第41行歌曲列表栏头部分


第43-45行列表内容类型切换以及列表关闭按钮


第48到57行歌曲列表内容


第58到65行列表翻页控制区


最后的展现效果如下:


《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20

《微信公众平台入门到精通》Vol.20


前端静态页面基本就是这些,下一章讲管理后台、与前端页面数据交换接口的开发。


回复

使用道具 举报

发表于 2013-10-9 17:25:34 | 显示全部楼层
太深奥了,都看不懂了。。。还是不看了。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信邦网联系QQ|Archiver|手机版|小黑屋|鲁公网安备 37082802000167号|微信邦 ( 鲁ICP备19043418号-5 )

GMT+8, 2024-12-22 20:48 , Processed in 0.069978 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2013 Wxuse Inc. | Style by ytl QQ:1400069288

快速回复 返回顶部 返回列表