效果:
代码很简单
js
define("html5_video_player", [ '../avalon-min'], function(avalon) {
function formatTime(seconds) {
var seconds = Math.round(seconds);
var minutes = Math.floor(seconds / 60);
seconds = Math.floor(seconds % 60);
minutes = (minutes >= 10) "0" + minutes;
seconds = (seconds >= 10) "0" + seconds;
return minutes + ":" + seconds;
}
var playing=false,mute=false,vol=50,fs=false,active=false,inactivityTimeout=timer=null;
avalon.bind($('control_btn'),'click',function(){
if(!playing){
$('html5_video').play();
$('control_btn').className='html5_video_pause_btn inline-block';
playing=true;
}else{
$('html5_video').pause();
$('control_btn').className='html5_video_play_btn inline-block';
playing=false;
}
});
avalon.bind($('video_bar'),'click',function(e){
var a=(e.clientX-$('video_bar').offsetLeft)/$('video_bar').offsetWidth;
$('html5_video').currentTime =a.toFixed(2)*$('html5_video').duration;
});
avalon.bind($('vol_bar'),'click',function(e){
var a=(e.clientX-$('vol_bar').offsetLeft-8)/$('vol_bar').offsetWidth;
vol=$('html5_video').volume =a;
$('vol_value').style.width=a*100+'%';
});
avalon.bind($('mute_icon'),'click',function(){
if(!mute){
$('html5_video').volume=0;
$('mute_icon').className='html5_video_mute1';
mute=true;
}else{
$('html5_video').volume=vol;
$('mute_icon').className='html5_video_mute';
mute=false;
}
});
avalon.bind($('html5_video'),'loadedmetadata',function(){
$('html5_video_duration').innerHTML=formatTime($('html5_video').duration);
$('html5_video').volume=0;
});
avalon.bind($('html5_video'),'timeupdate',function(){
$('html5_play_time').innerHTML=formatTime($('html5_video').currentTime);
$('video_progress_bar').style.left=$('html5_video').currentTime/$('html5_video').duration*100+'%';
});
avalon.bind($('html5_video_fullscreen'),'click',function(e){
if(!fs){
toggle_fullscreen();
}else{
exit_fullscreen();
}
});
document.onmozfullscreenchange = function() {
if ($('html5_video').clientWidth +2!= document.documentElement.clientWidth) {
exit_fullscreen();
}
};
document.onwebkitfullscreenchange = function() {
if ($('html5_video').clientWidth!= document.documentElement.clientWidth) {
exit_fullscreen();
}
};
function exit_fullscreen() {
$('html5_video').className='';
fs = false;
active=false;
$('video_control').className='';
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
}
function toggle_fullscreen() {
$('html5_video').className='video_fs';
fs = true;
$('video_control').className='fullscreen';
var elem=$('html5_video');
if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen();
}
}
function updateBuffered() {
var v = $('html5_video');
var r = v.buffered;
if (r) {
for (var i=0; i<r.length; i++) {
var start = r.start(i);
var end = r.end(i);
}
$('video_buffer_bar').style.width=end/$('html5_video').duration*100+'%';
}
}
setInterval(updateBuffered,500);
function b(){
if(active){
$('video_control').style.display='none';
active=false;
console.log(active);
}
}
avalon.bind($('html5_video'),'mousemove',function(e){
if(fs){
clearTimeout(inactivityTimeout);
active=true;
$('video_control').style.display='block';
inactivityTimeout = setTimeout(b, 5000);
}
});
});
html
<link type="text/css"
href="http://localhost/twitter/css/html5_video_player.css"
rel="stylesheet" />
<div id='wrap_html5_video'>
<div id='html5_video_area'>
<video id="html5_video" width="360" height="240">
<source type=" video/mp4" src="/UploadFiles/2021-04-02/2.mp4">
css
@CHARSET "UTF-8";
#wrap_html5_video {
padding: 10px;
width: 360px;
}
#vol_bar,#video_bar,#vol_value {
height: 9px;
background-color: #999999;
}
#vol_bar {
width: 100px;
cursor: pointer;
}
#vol_value {
background-color: #179df7;
width: 50%;
}
#html5_video {
display: block;
border: 1px solid #c0deed;
}
#video_buffer_bar {
background-color: #179DF7;
width: 0;
}
#video_progress_bar,#video_buffer_bar {
position: absolute;
height: 100%;
}
#video_progress_bar {
background-color: #0066FF;
width: 2px;
left: 0;
}
.html5_video_pause_btn,.html5_video_play_btn {
width: 40px;
height: 40px;
cursor: pointer;
}
.html5_video_play_btn {
background: url("http://localhost/twitter/images/html5_video.jpg") 0 0
no-repeat;
}
.html5_video_play_btn:hover {
background: url("http://localhost/twitter/images/html5_video.jpg") -41px
0 no-repeat;
}
.html5_video_pause_btn {
background: url("http://localhost/twitter/images/html5_video.jpg") 0
-42px no-repeat;
}
.html5_video_pause_btn:hover {
background: url("http://localhost/twitter/images/html5_video.jpg") -41px
-42px no-repeat;
}
#play_control a,#vol_bar {
vertical-align: middle;
}
#html5_video_fullscreen {
width: 25px;
background: url("http://localhost/twitter/images/html5_video.jpg") 0
-310px no-repeat;
height: 18px;
}
#play_control #html5_video_time {
font-size: 14px;
}
#play_control li,#play_control ul {
font-size: 0;
}
#play_control li:last-child {
position: absolute;
right: 0;
}
.html5_video_mute1 {
background: url("http://localhost/twitter/images/html5_video.jpg")
no-repeat scroll -79px -170px rgba(0, 0, 0, 0);
}
.html5_video_mute {
background: url("http://localhost/twitter/images/html5_video.jpg")
no-repeat scroll 0 -170px rgba(0, 0, 0, 0);
}
#mute_icon {
cursor: pointer;
display: inline-block;
height: 15px;
width: 18px;
}
.html5_video_mute:hover {
background: url("http://localhost/twitter/images/html5_video.jpg") -19px
-170px no-repeat;
}
#play_control li {
height: 40px;
vertical-align: top;
margin: 0 5px;
}
#play_control li:after {
display: inline-block;
width: 0;
height: 100%;
vertical-align: middle;
content: '';
}
#play_control,#video_bar,#vol_bar {
position: relative;
}
body .fullscreen {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
overflow: hidden;
z-index: 2147483647;
background-color: #fff;
}
video::-webkit-media-controls {
display: none !important;
}
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“javascript实现简单的html5视频播放器”评论...
更新动态
2025年10月29日
2025年10月29日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]

