html5 自定义播放器核心代码
来源: 阅读:1249 次 日期:2016-07-11 11:13:55
温馨提示: 小编为您整理了“html5 自定义播放器核心代码”,方便广大网友查阅!

HTML5提供有新的video标签,可以不用编程直接播放video,只需要写几行简单的代码, 就可以自定义播放器

网页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);

更多信息请查看网页制作
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map