jwplayer().getPosition(); //播放了多少秒
jwplayer('playerdiv').play(); ||
jwplayer(0).play(true / false); //是否播放 0为索引
jwplayer(0).pause(true / false); //是否暂停
jwplayer(0).stop(); //停止无参
jwplayer().getBuffer(); //加载了百分之几
jwplayer().getFullscreen();
setFullscreen(state); //是否全屏
jwplayer().getMute();
setMute(state) //是否静音
jwplayer().getPlaylist()[0]['file'] ||
jwplayer().getPlaylistItem(0)['file'] //获取播放列表中索引为0项的file值
jwplayer().getWidth() jwplayer().getHeight() //宽高
jwplayer().getState() //state值:1.playing播放中 2.paused停止 3.idle空闲 4.completed结束
jwplayer().getDuration() //视频播放结束需要的时间
jwplayer().getVolume() //声音大小
//加载播放列表
var playlist = new Array({
file: "video/123.mp4",
image: "images/videoimg1.jpg"
}, {
file: "video/234.flv",
image: "images/videoimg1.jpg"
});
jwplayer(0).load(playlist);
jwplayer(0).playlistItem(1); //播放下标为1的视频
jwplayer(0).playlistNext(); //播放下一个视频
jwplayer(0).playlistPrev(); //播放上一个视频
jwplayer(0).resize(width, height); //宽高
//从第(10-缓冲秒数)秒开始,缓冲(bufferlength)默认为3秒
jwplayer(0).seek(10);
events: {
onComplete: function () {
alert("播放结束!!!");
},
onVolume: function () {
alert("声音大小改变!!!");
},
onReady: function () {
alert("准备就绪!!!");
},
onPlay: function () {
alert("开始播放!!!");
},
onPause: function () {
alert("暂停!!!");
}--1
}
Jwplayer(0).onPause: function () {
alert("暂停!!!");
} //与1等同,先执行1
//回调函数
jwplayer(0).onBufferChange(function () {
alert("缓冲改变!!!");
});
jwplayer(0).onBufferFull(function () {
alert("视频缓冲完成!!!");
});
jwplayer(0).onError(function (obj) {
alert("播放器出错!!!" + obj.message);
})
jwplayer(0).onFullscreen(function (obj) {
if (obj.fullscreen) {
alert("全屏");
} else {
alert("非全屏");
}
});
onMute(callback) // obj. mute是否静音
onPlaylist(function (obj) { //视频列表载入完成
alert(obj.playlist[0]['file']);
});
onPlaylistItem(callback) // 开始播放一个视频时触发obj.index为视频索引
onReady(callback) //准备就绪
onResize(callback) //obj.width obj.height 宽高
//进入播放时触发obj.oldstate 值:从BUFFERING PAUSE状态进入播放状态
onPlay(callback)
//进入暂停obj.oldstate 值1:从PLAYING BUFFERING状态进入暂停
onPause(callback)
onBuffer(callback) //进入加载obj.oldstate 值PLAYING, PAUSED or IDLE
onIdle(callback) //进入空闲obj.oldstate 值PLAYING, PAUSED or BUFFERING.
onComplete(callback) //结束播放
onVolume(callback) //obj.volumejwplayer 隐藏属性方法记载
-
computed失效不打印console
我们可以看上一篇computed的原理,来看为什么不打印console
-
Spring报错:has been injected into other beans [xxx] in its raw version as part of a circular reference
发现这样的错误,一般是循环引入service引起的,比如aService引入了bService,bService又引入了aService,就会循环引入,就出错了
-
Updating Homebrew... 更新了镜像依然卡死
使用brew install [软件包]安装软件包时,卡在Updating Homebrew... 或输入`brew update`更新brew,半天没反应.产生原因一般是在国内访问官方 更新源获取资源太慢,解决方案可以采用更换国内镜像更新源.
-
PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认
由于我当前使用的 Mac 电脑的 PHP 版本比较低(7.1.19),许多新特性和功能不支持,现准备将其升级成最新版(7.3.2),具体步骤如下。
-
vue重定向beforeRouterEnter与replace的使用
一个登录页面,只有第一次才会出现,一旦出现过,以后再也不会出现,即使是输入该页面的url也不会跳转到该页面,只会跳转到指定的其他页面;
-
Vue-- 监听路由变化,数据无法更新?
除了动态修改 $route.meta.keepAlive 还有给router-view 加key的用法, 根据自己的需求酌情处理吧
-
vue强制刷新组件 销毁和重建
很多时候,通过重置数据将页面重置时,子组件可以提供重置的方法,或者提供props重置自己的状态。但是相对麻烦,那可以使用强制刷新来实现刷新组件。
-
vue钩子函数beforeRouteUpdate没有反应
由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 可以访问组件实例 `this`
-
vue 中使用eventbus
为了提高组件的独立性和重用性,父组件会通过props向下传数据给子组件,当子组件又事情要告诉父组件时用通过$emit事件告诉父组件,如此确保每个组件都是独立在相对隔离的环境中运行,可以大幅度提高组件的可维护性
-
vue中eventbus被多次触发(vue中使用eventbus踩过的坑)
一开始的需求是这样子的,我为了实现两个页面组件之间的数据传递,假设我有页面A,点击页面A上的某一个按钮之后,页面会自动跳转到页面B,同时我希望将页面A上的某一些参数携带过去给页面B。 然后我就想,这不就是不同组件之间的数据传递问题而已吗?直接用bus 巴士事件来传递数据不就行了吗。于是,我就很愉快地进行了。关于vue中的eventbus的使用,我之前在一篇vue中的数据传递中有提到过。