基于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 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
jQuery中delegate()方法用法实例
Jan 19 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 Javascript
bootstrap下拉菜单使用方法解析
Jan 13 Javascript
angularjs实现天气预报功能
Jun 16 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
Vue中在新窗口打开页面及Vue-router的使用
Jun 13 Javascript
vue项目中使用Svg的方法
Oct 24 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
react的滑动图片验证码组件的示例代码
Feb 27 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 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
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
python的unittest测试类代码实例
2017/12/07 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python中对_init_的理解及实例解析
2019/10/11 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
最新茶叶店创业计划书
2014/01/14 职场文书
交通安全责任书范本
2014/07/24 职场文书