直接上干货咯!

  1. //HTML5 音频播放器 lzpong 2015/01/19
  2. var wavPlayer = function () {
  3. if(window.parent.wavPlayer) return window.parent.wavPlayer;
  4. var CT = null;
  5. var D = null;
  6. var mover = false;
  7. var evtTm = { divout: false, divtimer: 0, divover: false, divshow: true, devwidth: 370 };
  8. D = document.createElement("div");
  9. var cls = "position:absolute;top:0px;right:1px;display:none;width:20px;overflow:hidden;word-break:break-all;word-wrap:break-word;border-radius:20px;".replace(" ", '').split(";");
  10. for (var i = 0; i < cls.length; i++) {
  11. var clss = cls[i].split(":");
  12. if (clss[0].length > 0)
  13. D.style[clss[0]] = clss[1];
  14. }
  15. D.innerHTML = "<audio controls='true' id='wavPlayCtrl' style='width: 500px;min-height: 30px;display: inline;'></audio>";
  16. setTimeout(function () {
  17. document.body.appendChild(D);
  18. setTimeout(function () {
  19. CT = document.querySelector("#wavPlayCtrl");
  20. //播放结束后3秒内鼠标没有on且播放ended的,hide
  21. CT.onended = function (e) {
  22. setTimeout(function () { if (!mover && (CT.src ? CT.paused : true)) hide(); }, 3000);
  23. }
  24. //鼠标100毫秒后还on,show
  25. CT.onmouseover = function (e) {
  26. mover = true;
  27. if (!evtTm.divover) {
  28. evtTm.divover = true;
  29. clearTimeout(evtTm.divtimer);
  30. evtTm.divtimer = setTimeout(function () { if (mover) show(); }, 100);
  31. evtTm.divover = false
  32. }
  33. }
  34. //鼠标out,2秒后且播放ended的,dide
  35. CT.onmouseout = function (e) {
  36. mover = false;
  37. if (!evtTm.divout) {
  38. evtTm.divout = true;
  39. clearTimeout(evtTm.divtimer);
  40. evtTm.divtimer = setTimeout(function () { if (!mover && (CT.src ? CT.paused : true)) hide(); }, 2000);
  41. evtTm.divout = false
  42. }
  43. }
  44. }, 200);
  45. }, 500);
  46. function show() {
  47. var w = parseInt(D.style.width);
  48. if (w < 370) setTimeout(function () { D.style.width = w + 74 + "px"; show(); }, 50);
  49. else D.style.width = "370px";
  50. }
  51. function hide() {
  52. var w = parseInt(D.style.width);
  53. if (w > 37) setTimeout(function () { D.style.width = w - 74 + "px"; hide(); }, 50);
  54. else D.style.width = "20px";
  55. }
  56. return {
  57. //播放
  58. Play: function (path) { show(); D.style.display = "inline"; CT.src = path; CT.play(); },
  59. //暂停
  60. Pause: function () { CT.pause(); },
  61. Stop: function () { if (CT.stop) CT.stop(); else CT.pause(); },
  62. //是否循环播放(设置一次一直生效)
  63. Loop: function (b) { CT.loop = b; },
  64. //隐藏控件
  65. Hide: function () { CT.pause(); hide() },
  66. //显示控件
  67. Show: function () { show() },
  68. //获取控件
  69. CT: function () { return CT; },
  70. Ver:"lzpong 2015/10/19"
  71. };
  72. }();

HTML5 音频播放器

会在页面(或者首页)右上角出现, 会自动隐藏, 一般支持*.wav,*.MP3之类的 等...

当然,样式什么的 就那啥, 不说了, 浏览器基本样式咯 ^,^

HTML5 音频播放器-Javascript代码(短小精悍)的更多相关文章

  1. 【jquery】一款不错的音频播放器——Amazing Audio Player

    前段时间分享了一款视频播放器,点击这里.今天介绍一款不错的音频播放器——Amazing Audio Player. 介绍: Amazing Audio Player 是一个使用很方便的 Windows ...

  2. 基于canvas和Web Audio的音频播放器

    wavesurfer.js是一款基于HTML5 canvas和Web Audio的音频播放器插件.通过wavesurfer.js你能够使用它来制作各种HTML5音频播放器,它能够在各种支持 Web A ...

  3. 4个小时实现一个HTML5音乐播放器

    技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...

  4. IOS开发之简单音频播放器

    今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...

  5. Plyr – 简单,灵活的 HTML5 媒体播放器

    Plyr 是一个简单的 HTML5 媒体播放器,包含自定义的控制选项和 WebVTT 字幕.它是只支持现代浏览器,轻量,方便和可定制的媒体播放器.还有的标题和屏幕阅读器的全面支持. 在线演示      ...

  6. Unity3D音频播放器 动态装载组件

    大多数在线Unity有关如何只教程Unity在播放音乐.之后如何通过拖动它们无法继续添加音频文件 但有时在游戏中的对象要玩几个声音.这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法 ...

  7. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  8. 基于jQuery虾米音乐播放器样式代码

    分享一款基于jQuery虾米音乐播放器样式代码.这是一款基于jquery+html5实现的虾米音乐播放器源码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div c ...

  9. OCiOS开发:音频播放器 AVAudioPlayer

    简单介绍 AVAudioPlayer音频播放器可以提供简单的音频播放功能.其头文件包括在AVFoudation.framework中. AVAudioPlayer未提供可视化界面,须要通过其提供的播放 ...

随机推荐

  1. SQLServer2005如何批量修改架构名 - wuxiaokaixinguo的专栏

    原文地址:http://blog.csdn.net/wuxiaokaixinguo/article/details/8523093 ) BEGIN SET @name='原构架名.' + @name ...

  2. phpcms文章点击量统计方法

    phpcms用户广大,很好用,很傻瓜.设计思路也很好,对cms的常见功能都有设计,可以作为自己开发的参考. 最近看了下phpcms的源码关于文章点击量统计的这块,自己记录下. 默认文章点击量显示的位置 ...

  3. 案例1.用Ajax实现用户名的校验

    用Ajax实现用户名的校验 java的验证类 public class UserDao { public boolean checkUserName(String name) { //这里的name是 ...

  4. 使用HttpClient来异步发送POST请求并解析GZIP回应

    .NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...

  5. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  6. 关于px、em和rem的学习笔记!

    刚参加前端工作,字体一般使用px来设置大小,在处理响应式界面时对字体的大小变化处理感觉很吃力,得知对字体的大小有三种大小格式设置方式,便想一探究竟,希望可以有所帮助! px px像素(Pixel),相 ...

  7. About kaychen

    关于我 现武汉科技大学,大二学生.互联网前端技术爱好者,未来想从事前端开发工作.进入前端开发领域之前,作为创始人之一,创建了武汉江城时空电子商务有限责任公司.目前在海投网前端开发小组实习.热爱互联网行 ...

  8. Python之路【第三篇】python基础 之基本数据类型 补充

    字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-310 ...

  9. Python之路Day17-jQuery

    本节内容: jQuery 参考:http://jquery.cuishifeng.cn/ 模块  <==>类库 Dom/Bom/JavaScript的类库 版本:1.x   1.12 2. ...

  10. HDU2433 BFS最短路

    Travel Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...