华域联盟 HTML5 html5 自定义播放器核心代码

html5 自定义播放器核心代码

网页html

复制代码 代码如下:

<body style="background-color:#8EEE5EE;">

<section id="skin">

<video id="myMovie" width="640" height="360">

<source src="videos/Introduction.mp4">

</video>

<nav>

<div id="buttons">

<button type="button" id="playButton">Play</button>

</div>

<div id="defaultBar">

<div id="progressBar"></div>

</div>

<div style="clear:both"></div>

</nav>

</section>

</body>

css样式

复制代码 代码如下:

body{

text-align:center;

}

header,section,footer,aside,nav,article,hgroup{

display:block;

}

#skin{

width:700px;

margin:10px auto;

padding:5px;

background:red;

border:4px solid black;

border-radius:20px;

}

nav{

margin:5px 0px;

}

#buttons{

float:left;

width:70px;

height:22px;

}

#defaultBar{

position:relative;

float:left;

width:600px;

height:14px;

padding:4px;

border:1px solid black;

background:yellow;

}

/*progressBar在defaultBar内部*/

#progressBar{

position:absolute;

width:0px; /*使用javascript控制变化*/

height:14px; /*和defaultBar高度相同*/

background:blue;

}

javascript代码

复制代码 代码如下:

function doFisrt()

{

barSize=600; //注意不要使用px单位,且不要用var,是全局变量

myMovie=document.getElementById('myMovie');

playButton=document.getElementById('playButton');

bar=document.getElementById('defaultBar');

progressBar=document.getElementById('progressBar');

playButton.addEventListener('click',playOrPause,false); //第三个参数总是false, Register the event handler for the bubbling phase.

bar.addEventListener('click',clickedBar,false);

}

//控制movie播放和停止

function playOrPause(){

if(!myMovie.paused && !myMovie.ended){

myMovie.pause();

playButton.innerHTML='Play';

window.clearInterval(updatedBar);

}else{

myMovie.play();

playButton.innerHTML='pause';

updatedBar=setInterval(update,500);

}

}

//控制进度条的动态显示

function update(){

if(!myMovie.ended){

var size=parseInt(myMovie.currentTime*barSize/myMovie.duration);

progressBar.style.width=size+'px';

}else{

progressBar.style.width='0px';

playButton.innerHTML='Play';

window.clearInterval(updatedBar);

}

}

//鼠标点击进度条控制方法

function clickedBar(e){

if(!myMovie.paused && !myMovie.ended){

var mouseX=e.pageX-bar.offsetLeft;

var newtime=mouseX*myMovie.duration/barSize; //new starting time

myMovie.currentTime=newtime;

progressBar.style.width=mouseX+'px';

window.clearInterval(updatedBar);

}

}

window.addEventListener('load',doFisrt,false);

好东西啊,摘了代码部分

本文由 华域联盟 原创撰写:华域联盟 » html5 自定义播放器核心代码

转载请保留出处和原文链接:https://www.cnhackhy.com/139948.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部