基于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 相关文章推荐
Js 刷新框架页的代码
Apr 13 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
Jun 27 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
触屏中的JavaScript事件分析
Feb 06 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
Jul 25 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
VUE中使用Vue-resource完成交互
Jul 21 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 Javascript
使用vue如何构建一个自动建站项目
Feb 05 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
Jun 24 Javascript
vue数据更新UI不刷新显示的解决办法
Aug 06 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
利用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编程快速实现数组去重的方法详解
2017/07/22 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
javascript删除option选项的多种方法总结
2013/11/22 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
python版本的读写锁操作方法
2016/04/25 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
python 接口返回的json字符串实例
2018/03/27 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
实习教师自我鉴定
2013/09/27 职场文书
毕业生自我鉴定
2013/12/04 职场文书
小学班主任寄语大全
2014/04/04 职场文书
情人节寄语大全
2014/04/11 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
优秀英文求职信范文
2015/03/19 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL