• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5制作酷炫音频播放器插件图文教程_html5教程技巧

HTML5制作酷炫音频播放器插件图文教程_html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,音频播放器,图文教程等相关知识,匿名希望在学习及工作中可以帮助到您

上图便是这个音频播放器的UI界面图,里面还隐藏了一个歌曲的播放列表。整个播放器的UI除了大背景的人像图和歌曲的星星评分使用了图片其他全部由CSS和font-face绘制而成,看上去有难度的地方就只有CD和打碟器的制作了,在歌曲播放时CD和打碟器都是具有动画交互效果的,这个在后面的部分会讲解到。点击播放器的CD可以打开播放列表噢~

因为这一期的教程主要是为了展示Html5新增的标签和audio元素的Dom API的使用,所以播放器UI的绘制在这里就不详细解释了,有疑问的可以自行查看案例的CSS文件的注释或者在下方留言。

主要功能:

一、播放、暂停、上一首、下一首、音量增减

二、点击CD可以打开和关闭播放列表

三、可以拖动本地音乐文件到播放器进行播放

Html结构


audio标签

在上面的结构中我们可以发现这个html5新增的audio标签,它具有一个controls属性,顾名思义它是播放器的控制器,controls 属性规定浏览器为音频提供播放控件,例如在chrome浏览器下的audio标签中设置该属性,播放器就会以如下的形式出现,如果不设置该属性,则会是空白一片


但由于在不同浏览器下的对audio标签渲染效果不一,这种简易的方法并不适合在跨浏览器下的使用,并且浏览器默认的播放器控件所提供的功能实在是太少了。。所以我们一般通过不设置该属性的方法来隐藏浏览器的默认播放控件,并且手工加入额外的标签和样式来定制播放器的UI界面。

播放控制

在播放器的UI界面绘制完成后,首先我们需要做的是为播放、上一首、下一首这三个主要的控制按钮添加对应的事件监听。



上述的按钮点击的事件监听中,我们通过调用原始的audio元素的play()和pause()方法来控制音频的播放和暂停。另外audio元素提供了currentSrc属性,该属性表示当前播放文件的文件源,我们通过设置该属性来控制当前播放的歌曲曲目。

音量控制

接下来我们来对音量条两边的两个小喇叭添加事件监听,使得通过点击左右两个小喇叭可以减小和增加当前播放的音量。要设置播放器的音量,我们可以调用audio元素中所提供的volume属性。volume值最大为1,最小为0,在这里我们通过每次点击喇叭增减0.1的音量来实现音量的控制。当然你也可以使用别的值。但要注意的是javascript语言不能对小数提供精准的控制,所以每次减少0.1的音量时实际上减少的音量是稍微地大于0.1的,这导致当连续点击9次音量减少的按钮时剩下0.09xxxx的音量,然后你会发现播放器怎么无法静音了。。。当然这个问题是很容易解决的(如下所示),只是稍作提醒。



时间控制

好了,现在播放器已经基本能用了,但我们还希望能够直接跳过音频的一部分到特定的时间点。那么要怎么实现呢??!制定标准的委员们也不是傻子,这种常用的功能是不会有所疏漏的拉~所以赶紧翻翻API吧,你会发现audio元素提供了一个名为currentTime的属性,非常简明易懂的名称(其实大多属性都是很好理解的),设置该属性可以设置当前播放的时间点。

在这里,我们还需要使用audio的另一个属性duration,该属性指的是当前播放文件的总时间长度。因此根据音量控制的实现,我们可以这样做:

一、点击进度条的某一位置,计算该由进度条的起点到该位置的长度占总进度条长度的百分比值(例如点击进度条的正中间位置,则进度条的起点到该位置的长度占总进度条长度的50%),记为percentage。

二、然后用percentage乘以文件的总时间长度duration就得到了你想要跳跃到的时间点的值,再把该值赋给currentTime即完成了所要实现的功能。


到这里,播放器已经基本成型了。剩下一些无关痛痒(其实对我来说才是最重要的哈哈)的UI交互实现,如果大家有兴趣的话就到源码中查看吧,有问题可以在下方评论留言,希望能多多交流和学习。

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03HTML5 Canvas来绘制图形
  • 2018-12-03介绍HTML5+Canvas调用手机拍照功能实现图片上传(上篇)
  • 2018-12-03HTML5 History模式是什么
  • 2018-12-03有关window.postMessage的文章推荐6篇
  • 2018-12-03关于HTML5音频与视频的详细介绍
  • 2018-12-03带你了解什么是HTML5?
  • 2018-12-03实例讲解利用HTML5 Canvas API操作图形旋转的方法_html5教程技巧
  • 2018-12-03纯html5+css能写出什么惊人的效果?
  • 2017-08-06html5 canvas绘制矩形和圆形的实例代码
  • 2018-12-03 小强的HTML5移动开发之路(3)——HTML5与HTML4比较

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5+CSS3:3D展示商品信息示例
    • html5中在用户完成元素或首选文本的拖动时触发的事件ondragend
    • HTML5 Canvas中使用用路径描画圆弧
    • HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线_html5教程技巧
    • 有没人用 ionic + AngularJS + PhoneGap开发过HybridApp?
    • html5中新特性之语义化标签的实例分析
    • html5指南-5.使用web storage存储键值对的数据
    • HTML5实践- 使用css3丰富图片样式的示例代码
    • 0基础接触html5之jquery(二)选择器
    • 带你认识HTML57个混合式移动开发框架

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有