我们采用 Bootstrap 网站的图标字体,作为播放器的按钮图标。
index.html的代码如下:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="css/font-awesome.min.css"/> <style> *{ margin: 0; padding: 0; } figcaption{ text-align: center; line-height: 150px; font-family: "Microsoft Yahei"; font-size:24px; }
.palyer{ width: 720px; height: 360px; margin:10px auto; border: 1px solid #000; background: url(images/loading.gif) center no-repeat #000; background-size:auto 100%; position: relative; border-radius: 20px;
}
.palyer video{ height:100%; display: block; margin:0 auto; }
.controls{ width: 700px; height:40px; background-color: rgba(255, 255, 0, 0.3); position: absolute; bottom:10px; left:10px; border-radius: 10px; } .switch{ position: absolute; width: 20px; height: 20px; left:10px; top:10px;
text-align: center; line-height: 20px; color:yellow;
} .progress{ width: 432px; height: 10px; position: absolute; background-color: rgba(255,255,255,0.4); left:40px; top:15px; border-radius: 4px; overflow: hidden; } .curr-progress{ width: 50%; height: 10px; background-color: #fff; } .time{ width: 120px; height: 20px; text-align: center; line-height: 20px; color:#fff; position: absolute; left:510px; top:10px; font-size:12px;
} .extend{ position: absolute; width: 20px; height: 20px;
right:20px; top:10px;
text-align: center; line-height: 20px; color:yellow; }
</style> </head> <body> <figure> <figcaption>视频案例</figcaption> <div class="palyer"> <video src="video/fun.mp4"></video> <div class="controls"> <a href="#" class="switch icon-play"></a> <div class="progress"> <div class="curr-progress"></div> </div> <div class="time"> <span class="curr-time">00:00:00</span>/<span class="total-time">00:00:00</span> </div> <a href="#" class="extend icon-resize-full"></a> </div>
</div> </figure>
<script>
var video=document.querySelector('video');
var playBtn=document.querySelector('.switch');
var currProgress=document.querySelector('.curr-progress');
var currTime=document.querySelector('.curr-time');
var totalTime=document.querySelector('.total-time');
var extend=document.querySelector('.extend');
var tTime=0;
playBtn.onclick=function(){
if(video.paused){
video.play(); this.classList.remove('icon-play'); this.classList.add('icon-pause'); }else{
video.pause();
this.classList.remove('icon-pause'); this.classList.add('icon-play');} }
video.oncanplay=function(){
tTime=video.duration; console.log(tTime);
var h=Math.floor(tTime/3600);
var m=Math.floor(tTime%3600/60);
var s=Math.floor(tTime%60);
h=h>=10?h:"0"+h; m=m>=10?m:"0"+m; s=s>=10?s:"0"+s;
console.log(h); console.log(m); console.log(s);
totalTime.innerHTML=h+":"+m+":"+s; }
video.ontimeupdate=function(){
var cTime=video.currentTime;
var h=Math.floor(cTime/3600);
var m=Math.floor(cTime%3600/60);
var s=Math.floor(cTime%60);
h=h>=10?h:"0"+h; m=m>=10?m:"0"+m; s=s>=10?s:"0"+s;
currTime.innerHTML=h+":"+m+":"+s;
var value=cTime/tTime;
currProgress.style.width=value*100+"%";
}
extend.onclick=function(){
video.webkitRequestFullScreen(); }
</script> </body> </html>
|
工程文件: