HTML5VideoDOM入门体验

HTML5的一个新特性就是内置对多媒体的支持,

在延边朝鲜族等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站设计 网站设计制作定制开发,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销推广,外贸营销网站建设,延边朝鲜族网站建设费用合理。

  1.  
  2.  
  3.  
  4.      
  5.  
  6.      
  7.  
  8.      
  9.         $(  
  10.         function() {  
  11.             $(":button").click(  
  12.             function() {  
  13.                 var h;  
  14.                 switch ($(":button").index($(this))) {  
  15.                     case 0:  
  16.                         if ($("video")[0].paused) {  
  17.                             $("video")[0].play();  
  18.                             $(this).val("暂停");  
  19.                         }  
  20.                         else {  
  21.                             $("video")[0].pause();  
  22.                             $(this).val("播放");  
  23.                         }  
  24.                         break;  
  25.                     case 1:  
  26.                         h = document.getElementsByTagName("video")[0].height == 0 ?  
  27.                             document.getElementsByTagName("video")[0].videoHeight - 10 :  
  28.                             document.getElementsByTagName("video")[0].height - 10; ;  
  29.                         document.getElementsByTagName("video")[0].height = h;  
  30.                         document.getElementsByTagName("video")[0].videoHeight = h;  
  31.                         break;  
  32.                     case 2:  
  33.                         h = document.getElementsByTagName("video")[0].height == 0 ?  
  34.                             document.getElementsByTagName("video")[0].videoHeight + 10 :  
  35.                             document.getElementsByTagName("video")[0].height + 10; ;  
  36.                         document.getElementsByTagName("video")[0].height = h;  
  37.                         document.getElementsByTagName("video")[0].videoHeight = h;  
  38.                         break;  
  39.                 }  
  40.             }  
  41.             );  
  42.         }  
  43.         );  
  44.  
  45.  
  46.         $(  
  47.         function() {  
  48.             $("#video1").on(  
  49.             "canplay",  
  50.             function(e) {  
  51.                 $(":button").removeAttr("disabled");  
  52.                 console.log(e);  
  53.             }  
  54.             );  
  55.             $("#video1").on(  
  56.             "canplaythrough",  
  57.             function(e) {  
  58.                 $("ol>li:eq(0)").html("全部加载完毕,你可以断网看电影了!");  
  59.                 console.log(e);  
  60.             }  
  61.             );  
  62.             $("#video1").bind(  
  63.             "playing waiting ended play pause",  
  64.             function(e) {  
  65.                 var vObj = document.getElementById("video1");  
  66.                 $("ol>li:eq(1)").html(vObj.duration + ":" + vObj.startTime + ":" + vObj.currentTime);  
  67.                 console.log(e);  
  68.             }  
  69.             );  
  70.             $("#video1").on(  
  71.             "stalled",  
  72.             function(e) {  
  73.                 $("ol>li:eq(2)").html("你的网络不给力啊,正在等数据呢");  
  74.                 console.log(e);  
  75.             }  
  76.             );  
  77.             $("#video1").on(  
  78.             "error",  
  79.             function(e) {  
  80.                 switch (e.target.error.code) {  
  81.                     case e.target.error.MEDIA_ERR_ABORTED:  
  82.                         $("ol>li:eq(3)").html("媒体资源获取异常");  
  83.                         break;  
  84.                     case e.target.error.MEDIA_ERR_NETWORK:  
  85.                         $("ol>li:eq(3)").html("网络错误");  
  86.                         break;  
  87.                     case e.target.error.MEDIA_ERR_DECODE:  
  88.                         $("ol>li:eq(3)").html("媒体解码错误");  
  89.                         break;  
  90.                     case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:  
  91.                         $("ol>li:eq(3)").html("视频格式被不支持");  
  92.                         break;  
  93.                     default:  
  94.                         $("ol>li:eq(3)").html("这个是神马错误啊");  
  95.                         break;  
  96.                 }  
  97.                 console.log(e);  
  98.             }  
  99.             );  
  100.             $("#video1").on(  
  101.             "suspend abort progress",  
  102.             function(e) {  
  103.                 var vObj = document.getElementById("video1");  
  104.                 $("ol>li:eq(1)").html(vObj.duration + ":" + vObj.startTime + ":" + vObj.currentTime);  
  105.                 console.log(e);  
  106.             }  
  107.             );  
  108.             $("#video1").on(  
  109.             "progress error abort",  
  110.             function(e) {  
  111.                 switch (e.target.readyState) {  
  112.                     case 0:  
  113.                         $("ol>li:eq(3)").html("当前播放位置无有效媒介资源");  
  114.                         break;  
  115.                     case 1:  
  116.                         $("ol>li:eq(3)").html("加载中,媒介资源确认存在,但当前位置没有能够加载到有效媒介数据进行播放");  
  117.                         break;  
  118.                     case 2:  
  119.                         $("ol>li:eq(3)").html("已获取到当前播放数据,但没有足够的数据进行播放");  
  120.                         break;  
  121.                     case 3:  
  122.                         $("ol>li:eq(3)").html("已获取到后续播放数据,可以进行播放");  
  123.                         break;  
  124.                     default:  
  125.                     case 4:  
  126.                         $("ol>li:eq(3)").html("可以进行播放,且浏览器确认媒体数据以某一种速度进行加载,可以保证有足够的后续数据进行播放,而不会使浏览器的播放进度赶上加载数据的末端");  
  127.                         break;  
  128.                 }  
  129.                 console.log(e);  
  130.             }  
  131.             );  
  132.         }  
  133.         );  
  134.          
  135.       
  136.      
  137.  
  138.  
  139.  
  140.      
  141.      
  142.     对不起你的浏览器不支持HTML5的新特性,要不你下载一个  
  143.     IE9?   
  144.    
  145.      
  146.      
  147.      
  148.     
       
    1.         
    2.  
    3.         
    4.  
    5.         
    6.  
    7.         
    8.  
    9.         
    10.  
    11.     
     
  149.  
  150.  

对 Video的控制重要的方法就是play、paused、stop。重要的事件有:

 

canplay 通知用户可以播放了,但不一定资源全部下载好

canplaythrough 资源都下载完毕了
 

error 出错时候

事件参数中有一个target对象,他有一个readyState值,可以得到不同的状态信息。具体的值,可以通过开发者工具获得,或看相关文档。


文章名称:HTML5VideoDOM入门体验
转载注明:http://azwzsj.com/article/geojpc.html