基于jQuery的网页影音播放器jPlayer的基本使用教程


Posted in Javascript onMarch 08, 2016

jPlayer简介:

想在网页上播放背景音乐,不想用html标签的方式,因为那样只有音乐全部下载完以后才能播放,还容易出现跨浏览器兼容性的问题,于是选了一款基于jQuery的播放器jPlayer来做。

设置jPlayer的尺寸大小
使用构造函数配置jPlayer({size:Object})设置jPlayer的高宽。

使用构造函数配置jPlayer({sizeFull:Object})设置全屏尺寸。

注意可通过构造函数配置jPlayer({backgroundColor:"#RRGGBB"})设置jPlayer背景颜色。

Flash 安全规则
使用下面的代码放宽了对jPlayer SWF 文件的限制,并且可以调用任何域名的swf文件了。

flash.system.Security.allowDomain("*");
flash.system.Security.allowInsecureDomain("*");

部署

通常,要上传swf文件和js文件到你域名下的js目录中。更改swf路径使用构造函数配置jPlayer({"swfPath":path})。

严格来讲,插件文件可能会远程链接到jplayer.org上,但请求你们不要链接到jplayer.com上,因为当前我们还没有充足资源做一个cdn。另外,远程服务器上的Flash播放软件要求所有的jPlayer("setMedia", media)设置的多媒体文件URL使用绝对路径。

要在本地开发,你需要在自己的电脑上安装一个服务器,比如apache,使localhost生效。

使用Javascript API控制你网站上的媒体文件jPlayer支持的媒体格式:HTML5: mp3, m4a (AAC), m4v (H.264), ogv*, oga*, wav*, webm* Flash: mp3, m4a (AAC), m4v (H.264)

jPlayer需要两个文件上传到你的服务器:

(1)Jplayer.swf

(2)jquery.jplayer.min.js

jPlayer构造在jQuery选择器上。采用 $(ID).jPlayer(Object: options) 的形式执行动作。在某些场合,jPlayer也可以构造在body上,指你不用播放视频的时候。

注意:swfPath,它定义jPlayer SWF文件的路径。记得把SWF文件上传到你的服务器!你也可以使用类似jPlayer({solution:"flash, html")的语句规定用什么方式播放媒体优先。

初始化后更改设置
初始化之后 使用类似 jPlayer("option",{key:value})的形式改变设置。
实现一个自动播放音乐的网页

$(document).ready(function(){
 $("#jquery_jplayer_1").jPlayer({
 ready: function (event) {
  $(this).jPlayer("setMedia", {
  m4a:"http://www.jplayer.org/audio/m4a/TSP-01-Cro_magnon_man.m4a",
  oga:"http://www.jplayer.org/audio/ogg/TSP-01-Cro_magnon_man.ogg"
  });
 },
 swfPath: "js",
 supplied: "m4a, oga",
 }).jPlayer("play");
});

解释一下上面的代码:

第一行“$(document).ready(function(){”大家都无比亲切吧,文档载入事件。

第二行“$("#jquery_jplayer_1").jPlayer({”选择的是一个DIV,用于承载HTML5元素或是Flash,大家在文档里写一个空的DIV即可。

第三行“ready: function (event) {”,ready是一个键,function是一个值,灰常熟悉的东西。

第四行“$(this).jPlayer("setMedia", {”this指的是“$("#jquery_jplayer_1")”,意为:“$("#jquery_jplayer_1").jPlayer("setMedia", {”很熟悉。setMedia是一个option,根据第二步说的。

第九行“swfPath: "js",”,这个定义了swf播放器所在的相对路径,如果你不打算兼容不支持HTML5的网页,可以不写:)

第十行“supplied: "m4a, oga",”所支持的格式。

第十一行“jPlayer("play");”意为:$("#jquery_jplayer_1").jPlayer("play");,播放媒体,实现自动播放。

jPlayer常用的方法:

//播放
$("#jpId").jPlayer("play");
//暂停
$("#jpId").jPlayer("pause");
//停止
$("#jpId").jPlayer("stop");
//设置进度相关
//1.按歌曲时长百分比
$("#jpId").jPlayer("playHead", 0);// 从 0% 处开始播放
$("#jpId").jPlayer("playHead", 10);// 从 10% 处开始播放
$("#jpId").jPlayer("playHead", 100);// 从 100% 处开始播放
//2.按播放毫秒数
$("#jpId").jPlayer("playHeadTime", 0);// 从 0毫秒 处开始播放
$("#jpId").jPlayer("playHeadTime", 10000); // 从 10000毫秒(10秒) 处开始播放
//设定音量
$("#jpId").jPlayer("volume", 0.25); //设为最大音量的 25%
//绑定事件
//播放结束事件
$("#jpId").jPlayer("onSoundComplete", function() {
  //alert('播放结束了');
  this.element.jPlayer("play"); // 循环播放
});
//播放进行事件
$("#jpId").jPlayer("onProgressChange", function(lp,ppr,ppa,pt,tt) {
  var s = '缓冲百分比:'+lp +'% ,';
  s += '已播放占已缓冲的百分比:'+ppr +'% ,';
  s += '已播放占总时长的百分比:'+ppa +'%';
  s += '已播放时间:'+pt+ '毫秒 ,';
  s += '总时间:'+tt+ '毫秒';
  $("#play_info").text(s);
});
Javascript 相关文章推荐
Firefox 无法获取cssRules 的解决办法
Oct 11 Javascript
js DOM模型操作
Dec 28 Javascript
JS获取鼠标坐标的实例方法
Jul 18 Javascript
alert中断settimeout计时功能
Jul 26 Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
jquery及js实现动态加载js文件的方法
Jan 21 Javascript
form+iframe解决跨域上传文件的方法
Nov 18 Javascript
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 Javascript
JS图片懒加载技术实现过程解析
Jul 27 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 #Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
Mar 08 #Javascript
js实现数组冒泡排序、快速排序原理
Mar 08 #Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 #Javascript
javascript html实现网页版日历代码
Mar 08 #Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 #Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 #Javascript
You might like
php 归并排序 数组交集
2011/05/10 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
JavaScript触发器详解
2007/03/10 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
Vue实现日历小插件
2019/06/26 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
Python格式化css文件的方法
2015/03/10 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
python中如何设置代码自动提示
2020/07/15 Python
人民调解员培训方案
2014/06/05 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
Redis基本数据类型List常用操作命令
2022/06/01 Redis