• html5 与视频


    1.视频支持格式。

    有3种视频格式被浏览器广泛支持:.ogg,.mp4,.webm.

    Theora+Vorbis=.ogg  (Theora:视频编码器,Vorbis:音频编码器)

    H.264+$$$=.mp4 (H.264:高清视频标准)

    VP8+Vorbis=.webm(webm是新的开源视频标准,基于VP8编码器)

    平台 .ogg .mp4 .webm
    Andorid  ❌  
    FirFox  ❌    ❌
    Chrome  ❌    ❌
    iPhone    ❌  
    IE9    ❌  
    Opera  ❌    ❌
    Safari    ❌  

    可见,没有任何一个格式能够支持所有浏览器,所以我们需要引入3中格式的视频。

    <video id="ivideo" width="320" height="640">
    
    <source src="test.webm" type='video/webm;codecs="vp8,vorbis"'>
    
    <source src="test.mp4" type='video/mp4;codecs="arc1.42E01E,mp4a.40.a"'>
    
    <source src="test.ogg" type='video/ogg;codecs="thera,vorbis"'>
    
    </video>
    

    2.video属性

    autoplay:true or false;是否自动播放

    loop:true or false;是否循环播放

    volume:0~1数字;播放音量

    poster:加载视频时显示的图片url。

    duration:视频长度(s)

    currentTime:视频当前播放时间(s)

    ended:根据视频是否播放结束,返回true or false,

    muted:查询播放中的视频是否静音,返回true or false 

    paused:查询视频当前是否被暂停,返回true or false 

    方法:

    play():启动播放

    pause():暂停

    3.预加载视频

    为视频加载添加预加载动画

    <div id="preload">0%</div>

    这里要知道两个htmlvideo元素的事件:

    progress:在视频对象更新加载进度时触发该事件,用于更新进度文字

    canplaythrough:在视频已加载足够播放全部视频数据时触发,用于确定什么时候播放视频。

    load事件firefox不支持,chrome&ie10不触发progress事件

    监听加载百分比函数:

    function progress(){
    var loadingStatus=document.getElementById("loadingstatus");
    var videoEle=document.getElementById("ivideo");
    var percent=parseInt((videoEle.buffered.end(0)/videoEle.duration)/100);
    loadingStatus.innerHtml=percent+'%';
    }
    

    4.js判断浏览器可用视频格式

    video的另一个方法:canPlayType(),返回一个文本字符串:maybe,probably,''

    function supportVideoType(video){
    
     var returnType="";
    
     if(video.canPlayType("video/webm")=="probably"||video.canPlayType("video/webm")=="maybe"){
    
     returnType="webm"; 
    
    }else if(video.canPlayType("video/mp4")=="probably"||video.canPlayType("video/mp4")=="maybe"){
    
     returnType="mp4"; 
    
    }else if(video.canPlayType("video/ogg")=="probably"||video.canPlayType("video/ogg")=="maybe"){
    
     returnType="ogg"; 
    
    }
    
    return returnType;
    

      

    使用标签方式引入video只能支持播放、暂停等功能,如果需要旋转、添加文字等特殊效果,则需要和canvas一起使用。

  • 相关阅读:
    【Swing】简单的计算器
    【SQL】嵌套查询与子查询
    【网络协议抓包分析】TCP传输控制协议(连接建立、释放)
    【网络协议抓包分析】IP互联网协议
    ******常见数据库笔试题*****
    OSI参考模型 VS TCP/IP参考模
    TCP/IP四层模型
    数组实现栈的功能
    子网掩码怎么计算
    C# 启动和结束一个线程
  • 原文地址:https://www.cnblogs.com/zhangwenjiajessy/p/6108123.html
Copyright © 2020-2023  润新知