视频播放器 VideoPlayer

Constructor

Implements: Widget

Tutorials: 控件对象使用快速入门

可设置的属性

NameTypeDescription
nameString控件的名字,唯一标志
titleString控件title
hiddenBoolean隐藏
hoverTipString悬停提示
sourceString|Array|Oject媒体文件地址
autoplayBoolean自动播放(注:浏览器限制在用户没有操作网页之前,自动播放无效)
currentTimeNumber播放的位置(秒)
volumeNumber音量(0-1)
mutedBoolean是否静音
loopBoolean是否循环播放
posterString海报图片地址

可读取的属性

NameTypeDescription
nameString控件的名字,唯一标志
titleString控件title
hiddenBoolean隐藏
hoverTipString悬停提示
sourceString|Array|Oject媒体文件地址
autoplayBoolean自动播放(注:浏览器限制在用户没有操作网页之前,自动播放无效)
currentTimeNumber播放的位置(秒)
volumeNumber音量(0-1)
mutedBoolean是否静音
loopBoolean是否循环播放
posterString海报图片地址
playingBoolean是否在播放
pausedBoolean是否暂停
stoppedBoolean是否停止
endedBoolean是否播放完毕
seekingBoolean是否在定位
bufferedNumber缓冲进度(0-1)
durationNumber时长

方法

Play

Description: 播放 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('play');

Pause

Description: 暂停 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('pause');

stop

Description: 停止播放 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('stop');

restart

Description: 重新播放 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('restart');

rewind

Description: 后退

调用参数

NameTypeDescription
seekTimeNumber倒退多少秒

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('rewind' , 10);

forward

Description: 前进

调用参数

NameTypeDescription
seekTimeNumber前进多少秒

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('forward' , 10);

increaseVolume

Description: 升高音量

调用参数

NameTypeDescription
stepNumber升高多少(0-1之间的小数)

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('increaseVolume' , 0.2);

decreaseVolume

Description: 降低音量

调用参数

NameTypeDescription
stepNumber降低多少(0-1之间的小数)

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('decreaseVolume' , 0.2);

fullscreen

Description: 全屏 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('fullscreen');

restore

Description: 从全屏恢复 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('restore');

showControls

Description: 显示控制条 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('showControls');

hideControls

Description: 隐藏控制条 调用举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.doMethod('hideControls');

事件

options

Description: 初始化参数事件,可以改变参数

回调函数参数

NameTypeDescription
optionsObject参数对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('options' , function(options){
    //初始化静音
    options.muted = true;
});

Progress

Description: 缓冲进度事件 可以通过bufferd获取进度 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('progress' , function(){
    console.info('缓存进度:' + this.get('bufferd'));
});

Playing

Description: 开始播放事件(第一次、暂停后播放。结束后重播等) 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('playing' , function(){
    vjsp.alert('playing event');
});

Play

Description: 从暂停状态后开始的播放 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('play' , function(){
    vjsp.alert('play event');
});

Pause

Description: 暂停事件 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('pause' , function(){
    vjsp.alert('暂停');
});

Ended

Description: 播放结束事件 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('ended' , function(){
    vjsp.alert('播放结束');
});

timeupdate

Description: 播放进度(时间)改变 播放过程中触发频繁 可以通过 currentTime 获取播放进度 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('timeupdate' , function(){
    console.info('播放进度:' + this.get('currentTime'));
});

volumechange

Description: 音量改变 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('volumechange' , function(){
    vjsp.alert('当前音量:' + this.get('volume'));
});

seeking

Description: 正在定位中 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('seeking' , function(){
    vjsp.alert('seeking event');
});

seeked

Description: 定位完成 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('seeked' , function(){
    vjsp.alert('seeked event');
});

fullscreen

Description: 全屏事件 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('fullscreen' , function(){
    vjsp.alert('全屏播放');
});

restore

Description: 从全屏恢复事件 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('restore' , function(){
    vjsp.alert('退出全屏');
});

controlshidden

Description: 控制条隐藏事件 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('controlshidden' , function(){
    vjsp.alert('控制条隐藏');
});

controlsshown

Description: 控制条显示事件 绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('controlsshown' , function(){
    vjsp.alert('控制条显示');
});

click

Description: 单击

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('click' , function(e){
    vjsp.alert('click event');
});

dblclick

Description: 双击

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('dblclick' , function(e){
    vjsp.alert('dblclick event');
});

contextmenu

Description: 弹出上下文菜单

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('contextmenu' , function(e){
    vjsp.alert('contextmenu event');
});

mousedown

Description: 鼠标按下

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mousedown' , function(e){
    vjsp.alert('mousedown event');
});

mouseup

Description: 鼠标弹起

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mouseup' , function(e){
    vjsp.alert('mouseup event');
});

mousemove

Description: 鼠标移动

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mousemove' , function(e){
    vjsp.alert('mousemove event');
});

mouseover

Description: 鼠标移动控件上

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mouseover' , function(e){
    vjsp.alert('mouseover event');
});

mouseout

Description: 鼠标离开

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mouseout' , function(e){
    vjsp.alert('mouseout event');
});

mouseenter

Description: 鼠标移入

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mouseenter' , function(e){
    vjsp.alert('mouseenter event');
});

mouseleave

Description: 鼠标移出

回调函数参数

NameTypeDescription
eObjectjQuery事件对象

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('mouseleave' , function(e){
    vjsp.alert('mouseleave event');
});

hidden

Description: 隐藏事件(隐藏显示触发 回调参数为隐藏状态)

回调函数参数

NameTypeDescription
hiddenStateBoolean隐藏状态true为隐藏、false为取消隐藏

绑定举例:

var widget = vjsp.Parser.getWidgetByName('videoPlayer');
widget.on('hidden' , function(hiddenState){
    if(hiddenState){
        vjsp.alert('控件被隐藏');
    }else{
        vjsp.alert('控件取消隐藏');
    }
});