# 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标签的属性,方法 和事件# ##