基于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 相关文章推荐
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
JS制作简单的三级联动
Mar 18 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 Javascript
JSON与js对象序列化实例详解
Mar 16 Javascript
基于Vue实例对象的数据选项
Aug 09 Javascript
使用cropper.js裁剪头像的实例代码
Sep 29 Javascript
解析vue中的$mount
Dec 21 Javascript
js Element Traversal规范中的元素遍历方法
Apr 19 Javascript
js实现省级联动(数据结构优化)
Jul 17 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 20 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程序占用多少内存(memory_get_usage)
2012/09/23 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
php命令行模式代码实例详解
2021/02/26 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
Python算法应用实战之栈详解
2017/02/04 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
django框架中间件原理与用法详解
2019/12/10 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
基于python代码批量处理图片resize
2020/06/04 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
初三家长会邀请函
2014/01/18 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
体育口号大全
2014/06/18 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2015年仓库工作总结
2015/04/09 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android