HTML5学习之四:多媒体播放
2015-10-06 23:56
447 查看
(本内容部分节选自《HTML 5从入门到精通》)
就是新增了audio和video,它们有很多属性,我也不想在此一一探究,不过可以看一下下面的示例:
效果图:
就是新增了audio和video,它们有很多属性,我也不想在此一一探究,不过可以看一下下面的示例:
效果图:
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>多媒体</title> 6 <script language="javascript"> 7 var video = document.getElementById('video0')[0], 8 <!--通过querySelector方法获取div标签中的class值,然后赋值给变量--> 9 wrapper = document.querySelector('.videochrome'), 10 buffer = document.querySelector('.videochrome.controls.buffer'), 11 playhead = buffer.querySelector('.playhead'), 12 play = wrapper.querySelector('.play'), 13 duration = wrapper.querySelector('.duration'), 14 currentTime = playhead.querySelector('span'); 15 16 video.addEventListener('loadeddata', canplay, false);//监听准备播放事件 17 function canplay(){ 18 initControls(); 19 } 20 function initControls(){ 21 duration.innerHTML = asTime(video.duration);//播放时间以分和秒的形式输出 22 play.onclick = function(){ 23 if(video.ended){//如果播放结束,从0开始,不然,三元运算决定播放还暂停 24 video.currentTime = 0; 25 } 26 video[video.paused ? 'play' : 'pause'](); 27 }; 28 } 29 function asTime(t){ 30 t = Math.round(t); 31 var s = t % 60; 32 var m = ~~(t / 60); 33 return m +':'+ two(s); 34 } 35 function two(s){ 36 /*--if(s<10){ 37 return "0"+s; 38 } 39 else{ 40 return s; 41 }*/ 42 s += ""; 43 if(s.length<2) s="0"+s; 44 return s; 45 } 46 47 video.addEventListener('play', playEvent, false);//事件播放监听 48 video.addEventListener('pause', pausedEvent, false); 49 video.addEvnetListener('ended', function(){ 50 this.pause(); 51 },false); 52 function playEvent(){play.innerHTML = '暂停';} 53 function pausedEvent(){play.innerHTML = '播放';} 54 55 video.addEventListener('durationchange', updateSeekable, false); 56 video.addEventListenre('timeupdate', updatePlayhead, false); 57 function updateSeekable(){duration.innerHTML=asTime(video.duration);} 58 function updatePlayhead(){currentTime.innerHTML=asTime(video.currentTime);} 59 </script> 60 </head> 61 <body> 62 <video controls id="video0" width="425" height="344" src="video/Frozen.Fever.mov"></video> 63 <div class="videochrome paused"> 64 <div class="controls"> 65 <div class="scrub"> 66 <table width="150" border="0" cellpadding="0" cellspacing="0"> 67 <tr> 68 <td width="50" scope="row"><button class="play" title="play">播放</button></td> 69 <td width="50" align="center"><div class="duration">0:00</div></td> 70 <td width="50" align="center"><div class="loaded"><div class="buffer"><div class="playhead"><span>0:00</span></div></div></div></td> 71 </tr> 72 </table> 73 </div> 74 </div> 75 </div> 76 </body> 77 </html> 78
相关文章推荐
- HTML5:使用Canvas和Input range控件放大缩小图片
- 认识HTML5的WebSocket
- HTML5 canvas画图
- HTML5移动Web开发(九)——优化浏览器视口宽度设置
- HTML5(常用的表单控件)
- HTML5移动Web开发(八)——避免文本字体大小重置
- 基于HTML5 Canvas的Web SCADA工控移动应用
- HT for Web列表和3D拓扑组件的拖拽应用
- HTML5移动Web开发(七)——通过界面图标启动Web应用
- html5离线存储
- html5使得CORS更简单
- HTML5管理与实际历史的分析(history物)
- HTML5学习之三:文件与拖放
- HTML5移动Web开发(六)——定义一个内容策略
- HTML5移动Web开发(五)——移动设计之CSS媒介查询
- HTML5移动Web开发(四)——移动设计
- HTML5权威指南--标签新变化,文件API,拖放API(简要学习笔记一)
- 第九讲:HTML5该canvas推箱子原型实现
- HTML5移动Web开发(二)——配置移动开发环境以及简单示例
- HTML5学习之二:HTML5中的表单2