html5带字幕的播放器

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery-1.11.2.min.js"></script>
</head>
<body>

<style type="text/css">
video{
width: 500px;
height: 300px;
}
</style>

<div id="contant">
<video id="myaudio" controls><!-- controls autoplay autobuffer-->
<source src="我的时尚爷爷.mp4">
<p>浏览器不支持<video>视频功能</p>
</video>
<div id="telop"></div>
<textarea id="telopcommand" cols="100" rows="8"></textarea>
</div>
<button οnclick="audioplay()">播放</button>
<button οnclick="audioplayfirst()">从头开始播放</button>
<button οnclick="audiopause()">暂停</button>

<canvas id="mycanvas" width="500" height="300"></canvas>

<script type="text/javascript">
function audioplay(){
document.getElementById("myaudio").play();
}
function audioplayfirst(){
document.getElementById("myaudio").currentTime=0;
document.getElementById("myaudio").play();
}
function audiopause(){
document.getElementById("myaudio").pause();
}

var vobj,tobj,cmdobj,telopdata=[];
var telopurl='telop.js';
window.addEventListener('load',function(){
vobj=document.getElementById('myaudio');
tobj=document.getElementById('telop');
cmdobj=document.getElementById('telopcommand');


//读入字幕数据
$.get(telopurl,function(text){
cmdobj.value=text;
telopdata=eval(text)
})

//播放时发生timeupdata事件时显示字幕处理
vobj.addEventListener("timeupdate",function(){
var csec=vobj.currentTime;
for(var i=0;i<telopdata.length;i++){
if((telopdata[i].start<=csec)&&(telopdata[i].end>=csec)){
tobj.innerHTML=telopdata[i].text;
tobj.style.color=telopdata[i].color || "#fff";
//字体颜色
tobj.style.top=telopdata[i].top || "170px";
//纵向显示位置
tobj.style.fontSize=telopdata[i].fontSize || "24px";
//字符尺寸
return;
}
}
tobj.innerHTML="";
},true);
cmdobj.addEventListener("change",function(){
telopdata=eval(cmdobj.value);
},true);
},true);


//drawImage()绘制视频影响
window.addEventListener("load",function(){
var fps=1000/30;//1/30秒
var videoobj=document.getElementById("myaudio");
var canvasobj=document.getElementById("mycanvas");
setInterval(function(){
canvasobj.getContext("2d").drawImage(videoobj,0,0);
},fps);
},true);


</script>

 

</body>
</html>

转载于:https://www.cnblogs.com/branton-design/p/6370554.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值