H5新特性:video与audio的使用

HTML5 DOM 为 <audio> 和 <video> 元素提供了方法、属性和事件。

这些方法、属性和事件允许您使用 JavaScript 来操作 <audio> 和 <video> 元素。

·首先带大家熟悉一下video标签的属性方法,根据属性方法做一个小demo,

    • HTML5支持的视频格式:

      • Ogg

        • 带有Theora视频编码+Vorbis音频编码的Ogg文件
        • 支持的浏览器:FCO
      • MEPG4 
        • 带有H.264视频编码+AAC音频编码的MPEG4文件
        • 支持的浏览器: SC
      • WebM 
        • 带有VP8视频编码+Vorbis音频编码的WebM格式
        • 支持的浏览器: IFCO
        • 劣势:视频少、转码器几乎没有,不好转码
    • 想要video能自动填充慢父div的大小,只要给video标签加上style="width= 100%; height=100%; object-fit: fill"即可
      • 指定一种视频格式,不能播就提示
      • <video id="media" src="examp.mp4" width="500" poster="examp1.jpg" >您的浏览器不支持video</video>

给定多种视频格式,浏览器根据自身支持程度选择播放哪一种

注意:多个source标签,浏览器会从第一个开始识别,如果第一个不被识别,则会继续识别第二个;如果第一个识别成功,则会直接播放第一种格式视频

  <video controls = “controls”>

   <source src=”1.mp4” type=”video/mp4” />  //src属性写到source标签中,要指定视频的type类型,例如MP4的即为type=“video/mp4”

   <source src = “2.ogg” type=”video/ogg” />  //ogg格式

   <source src=”3.webm” type=”video/webm” />   //webm格式

</video>

controls       是否显示播放控件
    autoplay       是否打开浏览器后自动播放
    width          设置播放器的宽度
    height         设置播放器的高度
    loop           设置视频是否循环播放
    preload        设置是否等加载完再播放
    src    url     设置要播放视频的url地址
    poster  imgurl 设置播放器初始默认显示图片

canPlayType()   检测浏览器是否能播放指定的音频/视频类型。
     play()          开始播放音频/视频。
     pause()         暂停当前播放的音频/视频。

playbackRate    设置或返回音频/视频播放的速度。 
     currentTime     设置或返回音频/视频中的当前播放位置(以秒计)。
     duration        返回当前音频/视频的长度(以秒计)。
     loadedmetadata:当指定的音频/视频的元数据已加载时,会发生 loadedmetadata事件。
     timeupdate:      时间改变时触发

muted       设置或返回音频/视频是否静音。
     volume       设置或返回音频/视频的音量

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>

        视频地址:<input type="text" id="videoUrl" value="http://115.231.144.52/12/v/w/m/y/vwmypxnxothnduooudlozlddkekrrs/hc.yinyuetai.com/E771014D8879E8AA0ED2CBC807F1C2CE.flv?sc=f1cc344f8e1ff11a"/>
        <button  onclick="getVideo()">load</button><br />
               <video id="video" width="500" height="400" controls autoplay loop preload poster="img/1.jpg"></video><br />

        <button onclick="play()">播放/暂停</button>
        <button id="mute">静音</button>
        <button id="volUp">++</button>
        <button id="volDown">--</button>
        <button id="slower">减慢速率</button>
        <button id="normal">恢复速率</button>
        <button id="faster">加快速率</button>
        <br />
        <button id="reset" >复位</button>
        <button id="bwd" > &lt;&lt;倒退 </button>
        <button id="fwd" >快进>></button>
        <br />

                     视频长度: <span id="vLength"></span> <br />
                     当前时间: <span id="curTime" ></span><br />
                     持续时间: <span id="vRemaining" ></span>

    </body>
    <script type="text/javascript">
    /*加载视频*/
    var video=document.getElementById("video");
    function getVideo(){
        var videoUrl=document.getElementById("videoUrl").value;
        if(videoUrl!=""){
            video.src=videoUrl;
            video.load();
        }
    }
                /*播放*/
    if(video.canPlayType){
        function play(){
            if(video.paused){
                video.play();
            }else{
                video.pause();
            }
        }
    }
         /*静音*/
                  document.getElementById("mute").addEventListener("click",function(){
        if(video.muted){
            video.muted=false;
        }else{
            video.muted=true;
           }
        });

        /*音量*/
        function setVol(value){
            var vol=video.volume;
            vol+=value;
            if(vol>=0&&vol<=1){
            video.volume=vol;
            }else{
                video.volume=(vol<0)?0:1;
            }
        }
        document.getElementById("volUp").addEventListener("click",function(){
            setVol(.1);
        });
        document.getElementById("volDown").addEventListener("click",function(){
            setVol(-.1);
        });
        /*减小速率加大速率*/

        document.getElementById("slower").addEventListener("click",function(){
            video.playbackRate-=.25;
        });
        document.getElementById("faster").addEventListener("click",function(){
            video.playbackRate+=.25;
        });
        document.getElementById("normal").addEventListener("click",function(){
            video.playbackRate=1;
        });

          /*快进倒退复位*/
        function setTime(a){
            if(a==0){
                video.currentTime=a;
            }else{
                video.currentTime+=a;
            }
        }
        document.getElementById("reset").addEventListener("click",function(){
            setTime(0);
        });
        document.getElementById("fwd").addEventListener("click",function(){
            setTime(10);
        });
        document.getElementById("bwd").addEventListener("click",function(){
            setTime(-10);
        });
            /*视频长度*/
          video.addEventListener("loadedmetadata", function () {
            vLength = video.duration.toFixed(1);
            document.getElementById("vLength").textContent = vLength;
          });
           /*当前时间和持续时间*/
          video.addEventListener("timeupdate", function () {
            var currentTime= video.currentTime;
            document.getElementById("curTime").textContent = currentTime.toFixed(1);
            document.getElementById("vRemaining").textContent = (vLength - currentTime).toFixed(1);
          });
    </script>
</html>
时间: 2024-10-15 14:14:44

H5新特性:video与audio的使用的相关文章

H5 新特性之全局属性一

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <!--<!DOCTYPE html>--><!--<html lang="en">--><!--<he

H5新特性之语义化标签

二月底,疫情仍未过去,在家逆战学习. 说道H5新特性的语义化标签,就不得不先简单说一下它的发展史,兼容和一些语法问题. H5在经过多达近百项的修改,包括HTML和XHTML的标签,相关的API,Canvas等,性 能得到进一步提升. H5仅仅是新增添了一些内容并优化了它们,而不是全盘否定之前的旧的内容.支持Html5 的浏览器包括Firefox(火狐浏览器),IE9及其更高版本,Chrome(谷歌浏览器),Safari, Opera等以及一些国内浏览器. 对于H5语法变化不大,文件的扩展名是不变

前端面试基础-html篇之H5新特性

h5的新特性(目前个人所了解)如下 语义化标签 表单新特性 视频(video)和音频(audio) canvas画布 svg绘图 地理定位 为鼠标提供的拖放API webworker (重点)Storage (重点)Websocket HTML语义化是什么? 语义化是指根据内容的结构化(内容语义化),选择合适的标签(代码语义化),便于开发者阅读和写出更优雅的代码的同时,让浏览器的爬虫和机器很好的解析. 为什么要语义化? 有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各

h5新特性

  CSDN博客 Gane_Cheng HTML5新特性浅谈 发表于2016/10/17 21:25:58  7809人阅读 分类: 前端 转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/52819118 http://www.ganecheng.tech/blog/52819118.html (浏览效果更好) 2014年10月29日,W3C宣布,经过接近8年的艰苦努力,HTML5标准规范终于制定完成. HTML5将会取代

H5新特性:

新增选择器 document.querySelector.document.querySelectorAll 拖拽释放(Drag and drop) API 媒体播放的 video 和 audio 本地存储 localStorage 和 sessionStorage 离线应用 manifest 桌面通知 Notifications 语意化标签 article.footer.header.nav.section 增强表单控件 calendar.date.time.email.url.search

h5新特性 File API详解

之前一直觉得h5的新特性就是一些新标签呢,直到想研究一下图片上传预览的原理,才发现还是有好多新的api的,只是不兼容ie低版本,挺可惜的, File API在表单中文件输入字段基础上,又添加了一些直接访问文件信息的接口.H5在DOM中为文件输入元素添加了一个files集合,在通过表单元素选择了一个或多个文件时,files集合中将包含一组file对象,每个file对象对应一个文件,每个file对象都有下列只读属性: 1.name:本地文件系统的文件名: 2.size:文件的字节大小: 3.type

H5新特性之data-*

简单介绍:html5的data-*能够为标签添加一些自定义的属性和值,并且这种自定义的属性和值可以通过js来获取,十分的便捷 代码: //html代码<tr th:each="plan : ${list}" th:id="${plan.planId}" th:attr="data-plan-status=${plan.planStatus},data-name=${plan.planName}"> <td></td&

H5新特性之video audio

1.标签 <video src="~~~" autoplay loop controls poster="~~~.jpg"> 你的浏览器不支持video~~ </video> 值得注意的就是这几个属性,autoplay(自动播放).loop(循环播放).controls(默认视频操作控件).poster(封面) 2.js接口 //播放.暂停 video.paused?video.play():video.pause(); // 音量.静音 v

H5新特性总结

Web前端最新的官方标准无疑就是es6和H5了,es6之前已经说过了(多是一些语法糖),现在来总结一下H5给我们来了哪些新"朋友"吧~ 1.video/radio  视频/音频 2.canvas 绘画 3.geolocation 定位 4.WebSocket 前后端双向通讯 5.localStorage/sessionStorage代替cookie本地存储 6.文件拖拽(drag事件+dataTransfer+FileReader) 7.WebWorker js多线程,提高性能 8.W