基于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 相关文章推荐
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
Apr 02 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
Javascript变量的作用域和作用域链详解
Apr 02 Javascript
如何实现移动端浏览器不显示 pc 端的广告
Oct 15 Javascript
jquery实现全屏滚动
Dec 28 Javascript
springMVC结合AjaxForm上传文件
Jul 12 Javascript
Angular 4.x中表单Reactive Forms详解
Apr 25 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
May 31 Javascript
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
layui表单验证select下拉框实现验证的方法
Sep 05 Javascript
全面解析Vue中的$nextTick
Dec 24 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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
JS操作Cookies的小例子
2013/10/15 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
用python写asp详细讲解
2013/12/16 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
在Python中增加和插入元素的示例
2018/11/01 Python
Python八皇后问题解答过程详解
2019/07/29 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
志愿者服务感言
2014/02/27 职场文书
《火烧云》教学反思
2014/04/12 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
竞聘上岗演讲
2014/05/19 职场文书
劳资员岗位职责
2015/02/13 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python