html5实现完美兼容各大浏览器的播放器


Posted in HTML / CSS onDecember 26, 2014

歌曲播放我们会发现他的兼容性不是很好,譬如IE上能播放的flash播放器,再firfox或者chrome上就不是很好的应用了,因为有插件的阻碍!HTML5的出现让这一切成为了可能,但是播放器虽然播放了,我们还要关注一下用户的体验度,所以,我们就写了一个HTML兼容的播放器!向下兼容IE6-9、chrome、firfox、opera等主流播放器,应该是全兼容!实现原理代码给大家奉上!

复制代码
代码如下:

<!doctype html>
<html>
<head>
<meta charset=utf-8>
<title>歌词同步播放器-powered by widuu xiaowei</title>
<meta http-equiv="Cache-Control" content="no-cache">
<meta name="viewport" content="width=device-width; initial-scale=1.0; minimum-scale=1.0; maximum-scale=1.4">
<meta name="MobileOptimized" content="240">
<link href="/mp3/css/blue.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/mp3/js/jquery.js"></script>
<script type="text/javascript" src="/mp3/js/jquery.jplayer.js"></script>
<script type="text/javascript" src="/mp3/js/lrc.js"></script>
<style type="text/css">
* { margin:0; padding:0; }
ul, ol, dl { list-style:none; }
.content li.hover{ color:red; }
.content{ width:402px; height:200px; background:#ccc; overflow:hidden; padding:10px;}
</style>
<script>
//<![CDATA[
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3:"yangcong.mp3" //mp3的播放地址
}).jPlayer("play");
},
timeupdate: function(event) {
if(event.jPlayer.status.currentTime==0){
time = "";
}else {
time = event.jPlayer.status.currentTime;
}

},
play: function(event) {
//点击开始方法调用lrc。start歌词方法 返回时间time

if(event.jPlayer.status.currentTime==0){
$("#jquery_jplayer_1").jPlayer("pause",1);
}

if($('#lrc_content').val()!==""){
$.lrc.start($('#lrc_content').val(), function() {
return time;
});
}else{
$(".content").html("没有字幕");
}
},
repeat: function(event) {
if(event.jPlayer.options.loop) {
$(this).unbind(".jPlayerRepeat").bind($.jPlayer.event.ended + ".jPlayer.jPlayerRepeat", function() {
$(this).jPlayer("play");
});
} else {
$(this).unbind(".jPlayerRepeat");
}
},
swfPath: "/js", //存放jplayer.swf的决定路径
solution:"html, flash", //支持的页面
supplied: "mp3", //支持的音频的格式
wmode: "window"

});
$("#lrc_content").hide();
});
//]]>
</script>
</head>
<body>
<textarea id="lrc_content" name="textfield" cols="70" rows="10">
[ar:测试用 ]
[00:03.00]洋葱
[00:06.00]演唱:平安
[00:09.00]
[00:11.38]如果你眼神能够为我片刻的降临
[00:21.23]如果你能听到心碎的声音
[00:28.88]盘底的洋葱像我永远是配角戏
[00:35.74]偷偷的看着你偷偷的隐藏着自己
[00:43.48]
[00:44.90]如果你愿意一层一层
[00:48.46]一层的剥开我的心
[00:52.66]你会发现你会讶异
[00:56.40]你是我最压抑最深处的秘密
[01:00.26]如果你愿意一层一层
[01:03.69]一层的剥开我的心
[01:07.76]你会鼻酸你会流泪
[01:11.60]只要你能听到我看到我的全心全意
[01:18.30]
[01:19.11]如果你愿意一层一层
[01:22.57]一层的剥开我的心
[01:26.66]你会发现你会讶异
[01:30.41]你是我最压抑最深处的秘密
[01:34.48]如果你愿意一层一层
[01:37.58]一层的剥开我的心
[01:41.51]你会鼻酸你会流泪
[01:45.15]只要你能听到我看到我的全心全意
[01:53.55]
[01:55.65]你会鼻酸你会流泪
[01:59.84]只要你能听到我看到我的全心全意
[02:12.57]
</textarea></p> <p><p>
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div id="jp_container_1" class="jp-audio">
<div class="jp-type-single">
<div class="jp-gui jp-interface">
<ul class="jp-controls">
<li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
<li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
<li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
<li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
<li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
<li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
</ul>
<div class="jp-progress">
<div class="jp-seek-bar">
<div class="jp-play-bar"></div>
</div>
</div>
<div class="jp-volume-bar">
<div class="jp-volume-bar-value"></div>
</div>
<div class="jp-time-holder">
<div class="jp-current-time"></div>
<div class="jp-duration"></div>
<ul class="jp-toggles">
<li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
<li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
</ul>
</div>
</div>
<div class="jp-title">
<ul>
<li>mp3player powered by xiaowei</li>
</ul>
</div>
<div class="jp-no-solution">
<span>Update Required</span>
To play the media you will need to either update your browser to a recent version or update your <a href="<a href="http://get.adobe.com/flashplayer/">http://get.adobe.com/flashplayer/</a>" target="_blank">Flash plugin</a>.
</div>
</div>
</div>
<div class="content"><ul id="lrc_list">
点击开始播放……
</ul></div>
</body>
</html>

HTML / CSS 相关文章推荐
利用CSS3实现炫酷的飞机起飞动画
Sep 17 HTML / CSS
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
Nov 18 HTML / CSS
纯css3制作网站后台管理面板
Dec 30 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
Nov 21 HTML / CSS
HTML5-WebSocket实现聊天室示例
Dec 15 HTML / CSS
详解canvas drawImage()方法绘制图片不显示的问题
Oct 08 HTML / CSS
Html5内唤醒百度、高德APP的实现示例
May 20 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
Mar 25 HTML / CSS
HTML中使用SVG与SVG预定义形状元素介绍
Jun 28 HTML / CSS
Html5 web本地存储实例详解
Jul 28 HTML / CSS
完美解决IE8下不兼容rgba()的问题
Mar 31 HTML / CSS
使用SVG实现提示框功能的示例代码
Jun 05 HTML / CSS
html5中 media(播放器)的api使用指南
Dec 26 #HTML / CSS
浅谈html5 响应式布局
Dec 24 #HTML / CSS
HTML5进度条特效
Dec 18 #HTML / CSS
html5+svg学习指南之SVG基础知识
Dec 17 #HTML / CSS
canvas需要在标签里直接定义宽高
Dec 17 #HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 #HTML / CSS
使用canvas绘制超炫时钟
Dec 17 #HTML / CSS
You might like
PHP 程序授权验证开发思路
2009/07/09 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
JavaScript实现星级评价效果
2019/05/17 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
对python 命令的-u参数详解
2018/12/03 Python
python 列表推导式使用详解
2019/08/29 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Python日志器使用方法及原理解析
2020/09/27 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
优秀志愿者事迹材料
2014/02/03 职场文书
四年级科学教学反思
2014/02/10 职场文书
班长演讲稿范文
2014/04/24 职场文书
英语教师求职信
2014/06/16 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
财务稽核岗位职责
2015/04/13 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL