# videoplayer
**Repository Path**: mirrors_singod/videoplayer
## Basic Information
- **Project Name**: videoplayer
- **Description**: this is a html5 video player
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-10-15
- **Last Updated**: 2026-07-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
videoplayer(**[demo view](http://htmlpreview.github.io/?https://github.com/robinma/videoplayer/blob/master/demo/videoplayer.html)**)
===========
#一 简介
------
此组件,主要是实现html5 video player 视频播放功能,主要实再现了视频的通常的播放控制功能。
##1.1 主要功能##
- 播放暂停功能
- 进度条控制及拖放
- 音量控制
- 全屏控制,分为虚拟全屏和原生全屏
- ...
##1.2 问题反馈
- email: ahmzj@163.com
- QQ: 316933268
#二 how to use
-----
the player plugin relative jquery.1.7 +
##2.1 include files##
at fire,you have to include js file and style sheet.
##2.2 init to do
/**
* param {String} videoSelector,is a dom id or jquery selector
* param {Data} params.it set videoplayer params and some events
*/
var videoplayer = videoPlayer(videoSelector,params);
**demo**
var videoplayer2=videoPlayer('mod_player2',{
autoPlay:false,
muted:true,
setSource:function(canplayType){
//if(canplayType == 'mp4'){
// return 'http://mediaelementjs.com/media/echo-hereweare.mp4'
//}
if (canplayTypes.indexOf('m3u8') >= 0) {
return 'http://play.ergeyy.com/vedios/stream/xiaopingguo.m3u8'
}
},
success:function(videoElement,node,videoObj){
console.log('----success ',arguments)
videoElement.addEventListener('timeupdate',function(){
//when timeupdata event to do ...
},false);
videoObj.timeupdate(function(currentTime){
//when video play to do, speed is 1s
});
},
//fires when a problem is detected
error:function(){
}
});
##params##
###width###
*width {Number ::853}:播放器默认宽度*
var videoplayer2=videoPlayer('mod_player2',{
//....
width:853,
//...
});
###height###
*height {Number ::480}:播放器默认高度*
var videoplayer2=videoPlayer('mod_player2',{
//....
height:480,
//...
});
###muted###
*muted {boolean :: false}:默认是否静音*
var videoplayer2=videoPlayer('mod_player2',{
//....
muted:true,
//...
});
###setSource###
*setSource {function}:设置视频源地址*
var videoplayer2=videoPlayer('mod_player2',{
setSource:function(canplayType){
//canplayType : ['mp4', 'ogg', 'webm']
if (canplayTypes.indexOf('m3u8') >= 0) {
return 'http://play.ergeyy.com/vedios/stream/xiaopingguo.m3u8'
}
//if(canplayType == 'mp4'){
// return 'http://mediaelementjs.com/media/echo-hereweare.mp4'
//}
}
});
###success###
*success {function}:播放成功时执行*
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
/**
*params videoElement {domObj} is video dom object
*params videoObj {videoPlayerObject} is videoPlayer object
*/
videoElement.addEventListener('timeupdate',function(){
//when timeupdata event to do ...
},false);
videoObj.timeupdate(function(currentTime){
//when video play to do, speed is 1s
});
},
});
###canfast###
*canfast {boolean ::false}:是否可以快进*
var videoplayer2=videoPlayer('mod_player2',{
//....
canfast:true,
//...
});
###virtualFullScreen###
*virtualFullScreen{boolean ::true} 是否虚拟全屏*
var videoplayer=videoPlayer('mod_player',{
virtualFullScreen:true,
});
------
------
##API##
###videoplyer 方法###
***play([showControllBar]) 播放视频***
> @showControllBar [boolean :false] 是否显示控制板,默认为false,主要配合pause使用。
var videoplayer = photofigure(imgdata,2);
videoplayer.play();
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use play method
videoObj.play();
//user video Element default method
videoElement.play();
},
});
***pause([hideControllBar]) 暂停视频***
>@hideControllBar [boolean:false] 是否隐藏控制面板,默认为false,不隐藏。
var videoplayer = photofigure(imgdata,2);
videoplayer.pause();
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use pause method
videoObj.pause();
//user video Element default method
videoElement.pause();
},
});
***fullScreen() 进入全屏模式***
var videoplayer = photofigure(imgdata,2);
videoplayer.fullScreen();
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use fullScreen method
videoObj.fullScreen();
},
});
***unFullScreen() 退出全屏模式***
var videoplayer = photofigure(imgdata,2);
videoplayer.unFullScreen();
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use unFullScreen method
videoObj.unFullScreen();
},
});
***setCurrentTime(newTime) 设置当前播放点,单位:秒***
var videoplayer = photofigure(imgdata,2);
videoplayer.setCurrentTime(23);
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use video element set currentTime
videoElement.currentTime=23
//or
//set currentTime
videoObj.setCurrentTime(23);
},
});
***getContiune() {boolean} 获取是否可以连续的值***
***timeupdate(callback) 监控更新时间,时间间隔为 1s***
var videoplayer = photofigure(imgdata,2);
videoplayer.timeupdate(function(currenTime){
console.log('currenTime:',currenTime)
});
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use timeupdate method
videoObj.timeupdate(function(currenTime){
console.log('currenTime:',currenTime)
});
},
});
>待整理。。。
######
----
> chrome55+,系统全屏时,会有下载按钮,解决方式是添加css
video::-internal-media-controls-download-button {
display:none;
}
video::-webkit-media-controls-enclosure {
overflow:hidden;
}
video::-webkit-media-controls-panel {
width: calc(100% + 30px); /* Adjust as needed */
}
##videoPlayer Events事件方法##
***videoObj.on('next',function) 当点击next时,触发***
var videoplayer = photofigure(imgdata,2);
videoplayer.on('next',function(){
console.log('switch next one');
})
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use next event
videoplayer.on('next',function(){
console.log('switch next one');
})
},
});
***videoObj.on('continue',function) 当点击连播时,触发***
var videoplayer = photofigure(imgdata,2);
videoplayer.on('continue',function(currentStatus){
console.log('can contnue play:',currentStatus);
})
//or
var videoplayer2=videoPlayer('mod_player2',{
success:function(videoElement,node,videoObj){
//use continue event
videoplayer.on('continue',function(currentStatus){
console.log('can contnue play:',currentStatus);
})
},
});
>待整理。。。
#下面是video标签的属性,方法 和事件#
##