H5新特性:video與audio的使用

来源:http://www.cnblogs.com/waj6511988/archive/2017/07/01/7102940.html
-Advertisement-
Play Games

HTML5 DOM 為 <audio> 和 <video> 元素提供了方法、屬性和事件。 這些方法、屬性和事件允許您使用 JavaScript 來操作 <audio> 和 <video> 元素。 ·首先帶大家熟悉一下video標簽的屬性方法,根據屬性方法做一個小demo, HTML5支持的視頻格式: ...


 

     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>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、HTML是什麼 Hyper Text Markup Language的縮寫,是一種超文本標記語言。 不是編程語言。而是一套標記語言,由標記符號組成。 二、HTML文檔即網頁 HTML文檔即網頁 HTML文檔包含HTML標簽和純文本 ...
  • [1]文本色 [2]背景色 [3]文本對齊 [4]大小寫 [5]按鈕和符號 [6]浮動 [7]隱藏 ...
  • 寫前端的相信都遇到過要提高網頁的性能,其中javascript文件越小,瀏覽器的下載速度面對文件的讀取和解析就更快。而一般我們在開發又需要一定的代碼規範來使我們的代碼更加的容易維護和讀懂,但是大量空格和換行又會加大文件的大小,所以在發佈時進行縮編或者混淆可以減小javascript的大小,提高效率。 ...
  • 首先介紹一下概念 devicePixelRatio其實指的是window.devicePixelRatio window.devicePixelRatio是設備上物理像素和設備獨立像素(device-independent pixels (dips))的比例。 公式表示就是:window.devic ...
  • 起因:最近在學習做網頁,需要不停地調試js ,然後呢就遇到一個問題:修改了外部引入的js文件,但是刷新頁面卻看不到效果,原因是因為瀏覽器緩存了js文件,瀏覽器優先讀取的是緩存的js 文件,而不是從每次都從服務端獲取 解決辦法:禁止js緩存 ...
  • [1]實現原理 [2]媒體查詢 [3]基本用法 [4]列偏移 [5]列排序 [6]列嵌套 [7]複雜應用 [8]顯示隱藏 ...
  • 塊級元素和行內元素的三個區別 1.行內元素與塊級元素直觀上的區別: 行內元素會在一條直線上排列,都是同一行,水平方向排列 塊級元素獨占一行,垂直方向排列.塊級元素從新行開始結束接著一個斷行 2.塊級元素可以包含行內元素和塊級元素, 行內元素不能包含塊級元素 3.行內元素和塊級元素屬性的不同,主要是盒 ...
  • 一、實現思路 在實踐中後臺管理系統的前後端分離時,往往會因為業務量的增加使其前端項目難以維護,以及打包時間不理想,還有業務系統與框架之間區分不在明顯。本文是本人從另一個角度提出的一種解決方案,希望各位提出寶貴的建議。 二、創建步驟 2.1、github上新建組織 此部分的操作可以參考github的相 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...