jwPlayer为js预留的回调方法
参考地址:http://www.cnblogs.com/lori/archive/2014/05/05/3709459.html
应用场合
播放时记录当前视频的时间,播放完成时写入完成的时间,像这些功能,我们都可以通过事件回调的方法解决,即为events属性赋相应的值.
注意
测试时,jwplayer需要在正式网站上测试,而本地打开时,它的events属性是不启作用的
events 实例

var player = jwplayer("mediaplayer").setup({
flashplayer: "player.swf",
file: 'http://localhost/222.mp4',
autostart: "true",
bufferlength: '20',
width: '400',
height: '400',
image: '111.jpg',
events: {
onComplete: function () { console.log("播放结束!!!"); },
onVolume: function () { console.log("声音大小改变!!!"); },
onReady: function () { console.log("准备就绪!!!"); },
onPlay: function () { console.log("开始播放!!!"); },
onPause: function () { console.log("暂停!!!"); },
onBufferChange: function () { console.log("缓冲改变!!!"); },
onBufferFull: function () { console.log("视频缓冲完成!!!"); },
onError: function (obj) { console.log("播放器出错!!!" + obj.message); },
onFullscreen: function (obj) { if (obj.fullscreen) { console.log("全屏"); } else { console.log("非全屏"); } },
onMute: function (obj) { console.log("静音/取消静音") }
}
});

其它回调方法

player.onBufferChange(function () { alert("缓冲改变!!!"); });
player.onBufferFull(function () { alert("视频缓冲完成!!!"); });
player.onError(function (obj) { alert("播放器出错!!!" + obj.message); })
player.onFullscreen(function (obj) {
if (obj.fullscreen) { alert("全屏"); }
else { alert("非全屏"); }
});
player.onMute(function (obj) { }) // obj. mute是否静音
player.onPlaylist(function (obj) { //视频列表载入完成
alert(obj.playlist[0]['file']);
});
var callback = function () { alert("callback");};//定义一个回调方法
player.onPlaylistItem(callback) // 开始播放一个视频时触发obj.index为视频索引
player.onReady(callback) //准备就绪
player.onResize(callback) //obj.width obj.height 宽高
//进入播放时触发obj.oldstate 值:从BUFFERING PAUSE状态进入播放状态
player.onPlay(callback)
//进入暂停obj.oldstate 值1:从PLAYING BUFFERING状态进入暂停
player.onPause(callback)
player.onBuffer(callback) //进入加载obj.oldstate 值PLAYING, PAUSED or IDLE
player.onIdle(callback) //进入空闲obj.oldstate 值PLAYING, PAUSED or BUFFERING.
player.onComplete(callback) //结束播放
player.onVolume(callback) //obj.volume
player.onPlay(function () {
console.log(this.getPosition());
});

技巧
我们看到上面的player是它当前的jwplayer对象,有了这个对象,我们就可以在程序的其它位置调用jwplayer的相关回调方法了,如果你没有定义player对象,也可以通过索引
的方式去访问jwplayer实例,如jwplayer(0)表示第一个jwplayer对象.
相关截图
aaarticlea/png;base64,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" alt="" />
jwPlayer为js预留的回调方法的更多相关文章
- JS~jwPlayer为js预留的回调方法大总结
对于一个成功的产品,它是对外封闭的,但又是对外开放的,这句话并不矛盾,让我来说一下,说它对外封闭是因为它本身的代码不允许你去修改,而说它开放,是因为它为我们定义了很多API,或者叫回调方法,对于jwp ...
- 【转】第5篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+委托回调方法分析
作者: 牛A与牛C之间 时间: 2013-11-19 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第5篇:Xilium CefGlue 关于 CLR Object 与 JS ...
- js中的回调函数的理解和使用方法
js中的回调函数的理解和使用方法 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为 ...
- 【转】第4篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:委托回调方法分析
作者: 牛A与牛C之间 时间: 2013-11-18 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第4篇:Xilium CefGlue 关于 CLR Object 与 JS ...
- 关于js回调方法 js递归时使用方法
js中递归调用本身可以这样: function a1(n){ a1(n)}但是如果需要在参数n进行自增的情况下判断会出错: function a1(n){ if(n>10) return 'aa ...
- js静态方法与实例方法定义,js回调方法定义
主要为了回调方法,随便把静态言法和实例方法也回顾一下. <script type="text/javascript"> var fun = { //下面是静态方法(第一 ...
- 给jquery-validation插件添加控件的验证回调方法
jquery-validation.js在前端验证中使用起来非常方便,提供的功能基本上能满足大部分验证需求,例如:1.内置了很多常用的验证方法:2.可以自定义错误显示信息:3.可以自定义错误显示位置: ...
- js中属性和方法的类型和区别
对象的属性:私有属性(var).类属性(静态属性).对象属性(this).原型属性(prototype). 对象的方法: 私有方法(funtion).类方法(静态方法).对象方法(this).原型方法 ...
- node.js如何使用回调
Node.js到处使用回调,尤其在有I/O(输入/输出)操作的地方. 下面是在一个Node.js中使用filesystem模块中从磁盘上读入文件内容示例一: var fs = require('fs' ...
随机推荐
- 希尔排序——Java实现
一.排序思想 希尔排序(Shell’s Sort)是插入排序的一种,是直接插入排序算法的一种更高版本的改进版本. 把记录按步长gap分组,对每组记录采用直接插入排序方法进行排序: 随着步长逐渐减小,所 ...
- vue-cli脚手架和webpack-simple模板项目
vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. GitHub地址是:https://github.com/vuejs/vue-cli 一. ...
- scss-null在@mixin传参中的应用
可以给混合器声明参数,以便灵活的配置相关属性值,看如下scss代码: @mixin antzone-div($color, $font-size) { color:$color; font-size: ...
- Angular6 基础(数据绑定、生命周期、父子组件通讯、响应式编程)
Angular相比于vue来说,更像一个完整的框架,本身就集成了很多模块,如路由,HTTP,服务等,而vue是需要另外引入比如(vuex,axios等).Angular引入了依赖注入.单元测试.类等后 ...
- 转:HTML中让图片滚动的<marquee>标签的使用方法
实例: <marquee id="affiche" align="left" behavior="scroll" bgcolor=&q ...
- Dubbo架构原理
1 Dubbo核心功能 Remoting:远程通讯,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式. Cluster: 服务框架,提供基于接口方法的透明远程过程调用 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(15)、要素绘制Drawtools3.0工具DEMO
1.前言 移动GIS项目开发中点线面的要素绘制及编辑是最常用的操作,在ArcGIS Runtime SDK for iOS 自带AGSSketchLayer类可以帮助用户快速实现要素的绘制,图形编辑. ...
- Gson 转换hibernate级联对象出现StackOverFlow(堆栈溢出)问题
< many-to-one>和< one-to-many>属性的对象级联关系在转换时会造成死循环,报stackOverFlowException. 比如下面这段: @OneTo ...
- Azure进阶攻略丨共享访问签名是个什么东东?
Azure 进阶攻略]一经推出便受到了广大粉丝的热情追捧,大家纷纷表示涨了姿势,并希望能了解更多的攻略~根据大家的投票结果,本期,小编将为大家讲解“如何生成 Shared Access Signatu ...
- Linux添加alias简化命令
一.简介 linux alias 是命令的一种别称,输入 alias 可以看到像下面这样的结果: alias vi="vim" 也即,输入vi后,被自动定向到vim这个命令了.al ...