HTML5 音频播放器-Javascript代码(短小精悍)
直接上干货咯!
- //HTML5 音频播放器 lzpong 2015/01/19
- var wavPlayer = function () {
- if(window.parent.wavPlayer) return window.parent.wavPlayer;
- var CT = null;
- var D = null;
- var mover = false;
- var evtTm = { divout: false, divtimer: 0, divover: false, divshow: true, devwidth: 370 };
- D = document.createElement("div");
- 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(";");
- for (var i = 0; i < cls.length; i++) {
- var clss = cls[i].split(":");
- if (clss[0].length > 0)
- D.style[clss[0]] = clss[1];
- }
- D.innerHTML = "<audio controls='true' id='wavPlayCtrl' style='width: 500px;min-height: 30px;display: inline;'></audio>";
- setTimeout(function () {
- document.body.appendChild(D);
- setTimeout(function () {
- CT = document.querySelector("#wavPlayCtrl");
- //播放结束后3秒内鼠标没有on且播放ended的,hide
- CT.onended = function (e) {
- setTimeout(function () { if (!mover && (CT.src ? CT.paused : true)) hide(); }, 3000);
- }
- //鼠标100毫秒后还on,show
- CT.onmouseover = function (e) {
- mover = true;
- if (!evtTm.divover) {
- evtTm.divover = true;
- clearTimeout(evtTm.divtimer);
- evtTm.divtimer = setTimeout(function () { if (mover) show(); }, 100);
- evtTm.divover = false
- }
- }
- //鼠标out,2秒后且播放ended的,dide
- CT.onmouseout = function (e) {
- mover = false;
- if (!evtTm.divout) {
- evtTm.divout = true;
- clearTimeout(evtTm.divtimer);
- evtTm.divtimer = setTimeout(function () { if (!mover && (CT.src ? CT.paused : true)) hide(); }, 2000);
- evtTm.divout = false
- }
- }
- }, 200);
- }, 500);
- function show() {
- var w = parseInt(D.style.width);
- if (w < 370) setTimeout(function () { D.style.width = w + 74 + "px"; show(); }, 50);
- else D.style.width = "370px";
- }
- function hide() {
- var w = parseInt(D.style.width);
- if (w > 37) setTimeout(function () { D.style.width = w - 74 + "px"; hide(); }, 50);
- else D.style.width = "20px";
- }
- return {
- //播放
- Play: function (path) { show(); D.style.display = "inline"; CT.src = path; CT.play(); },
- //暂停
- Pause: function () { CT.pause(); },
- Stop: function () { if (CT.stop) CT.stop(); else CT.pause(); },
- //是否循环播放(设置一次一直生效)
- Loop: function (b) { CT.loop = b; },
- //隐藏控件
- Hide: function () { CT.pause(); hide() },
- //显示控件
- Show: function () { show() },
- //获取控件
- CT: function () { return CT; },
- Ver:"lzpong 2015/10/19"
- };
- }();
HTML5 音频播放器
会在页面(或者首页)右上角出现, 会自动隐藏, 一般支持*.wav,*.MP3之类的 等...
当然,样式什么的 就那啥, 不说了, 浏览器基本样式咯 ^,^
HTML5 音频播放器-Javascript代码(短小精悍)的更多相关文章
- 【jquery】一款不错的音频播放器——Amazing Audio Player
前段时间分享了一款视频播放器,点击这里.今天介绍一款不错的音频播放器——Amazing Audio Player. 介绍: Amazing Audio Player 是一个使用很方便的 Windows ...
- 基于canvas和Web Audio的音频播放器
wavesurfer.js是一款基于HTML5 canvas和Web Audio的音频播放器插件.通过wavesurfer.js你能够使用它来制作各种HTML5音频播放器,它能够在各种支持 Web A ...
- 4个小时实现一个HTML5音乐播放器
技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...
- IOS开发之简单音频播放器
今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...
- Plyr – 简单,灵活的 HTML5 媒体播放器
Plyr 是一个简单的 HTML5 媒体播放器,包含自定义的控制选项和 WebVTT 字幕.它是只支持现代浏览器,轻量,方便和可定制的媒体播放器.还有的标题和屏幕阅读器的全面支持. 在线演示 ...
- Unity3D音频播放器 动态装载组件
大多数在线Unity有关如何只教程Unity在播放音乐.之后如何通过拖动它们无法继续添加音频文件 但有时在游戏中的对象要玩几个声音.这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法 ...
- 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
- 基于jQuery虾米音乐播放器样式代码
分享一款基于jQuery虾米音乐播放器样式代码.这是一款基于jquery+html5实现的虾米音乐播放器源码下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div c ...
- OCiOS开发:音频播放器 AVAudioPlayer
简单介绍 AVAudioPlayer音频播放器可以提供简单的音频播放功能.其头文件包括在AVFoudation.framework中. AVAudioPlayer未提供可视化界面,须要通过其提供的播放 ...
随机推荐
- SQLServer2005如何批量修改架构名 - wuxiaokaixinguo的专栏
原文地址:http://blog.csdn.net/wuxiaokaixinguo/article/details/8523093 ) BEGIN SET @name='原构架名.' + @name ...
- phpcms文章点击量统计方法
phpcms用户广大,很好用,很傻瓜.设计思路也很好,对cms的常见功能都有设计,可以作为自己开发的参考. 最近看了下phpcms的源码关于文章点击量统计的这块,自己记录下. 默认文章点击量显示的位置 ...
- 案例1.用Ajax实现用户名的校验
用Ajax实现用户名的校验 java的验证类 public class UserDao { public boolean checkUserName(String name) { //这里的name是 ...
- 使用HttpClient来异步发送POST请求并解析GZIP回应
.NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- 关于px、em和rem的学习笔记!
刚参加前端工作,字体一般使用px来设置大小,在处理响应式界面时对字体的大小变化处理感觉很吃力,得知对字体的大小有三种大小格式设置方式,便想一探究竟,希望可以有所帮助! px px像素(Pixel),相 ...
- About kaychen
关于我 现武汉科技大学,大二学生.互联网前端技术爱好者,未来想从事前端开发工作.进入前端开发领域之前,作为创始人之一,创建了武汉江城时空电子商务有限责任公司.目前在海投网前端开发小组实习.热爱互联网行 ...
- Python之路【第三篇】python基础 之基本数据类型 补充
字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-310 ...
- Python之路Day17-jQuery
本节内容: jQuery 参考:http://jquery.cuishifeng.cn/ 模块 <==>类库 Dom/Bom/JavaScript的类库 版本:1.x 1.12 2. ...
- HDU2433 BFS最短路
Travel Time Limit: 10000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...