zoukankan      html  css  js  c++  java
  • 微信公众号教程(18)微信音乐播放器开发 上

    微信音乐播放器开发

     原文:http://www.cnblogs.com/imaker/p/6252638.html

    一、Html5的audio组件

     

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    第9行是载入样式文件

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

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

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

    position:absolute;padding:5px;top:50%; margin-top:-155px; left:50%;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行页面底部的版权信息

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

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

    第41行歌曲列表栏头部分

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

    第48到57行歌曲列表内容

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

    最后的展现效果如下:

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

  • 相关阅读:
    lsyncd实时同步搭建指南——取代rsync+inotify
    Linux内存管理
    [Python爬虫] 之十一:Selenium +phantomjs抓取活动行中会议活动信息
    [Python爬虫] 之十:Selenium +phantomjs抓取活动行中会议活动
    [Python爬虫] 之九:Selenium +phantomjs抓取活动行中会议活动(单线程抓取)
    python 正则表达式
    Scrapy 安装
    python 安装whl文件
    [Python爬虫] 之八:Selenium +phantomjs抓取微博数据
    [Python爬虫] 之七:selenium webdriver定位不到元素的五种原因及解决办法(转载)
  • 原文地址:https://www.cnblogs.com/imaker/p/6252638.html
Copyright © 2011-2022 走看看