基于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 相关文章推荐
jquery 输入框数字限制插件
Nov 10 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
JS只能输入正整数的简单实例
Oct 07 Javascript
vue+swiper实现侧滑菜单效果
Dec 28 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
Vue.js点击切换按钮改变内容的实例讲解
Aug 22 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
vue基于element的区间选择组件
Sep 07 Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
利用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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
PHP遍历数组的方法汇总
2015/04/30 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
python安装与使用redis的方法
2016/04/19 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
python实现数据库跨服务器迁移
2018/04/12 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python有参函数使用代码实例
2020/01/06 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
费用会计岗位职责
2014/01/01 职场文书
红旗方阵解说词
2014/02/12 职场文书
喝酒检查书范文
2014/02/23 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
竞选学委演讲稿
2014/09/13 职场文书
红色故事汇观后感
2015/06/18 职场文书
离婚民事起诉状
2015/08/03 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python