校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 前端H5 Video常見使用場景簡介

前端H5 Video常見使用場景簡介

熱門標簽:只辦理400電話 機器人外呼系統(tǒng)存在哪些能力 高德地圖標注地點糾錯 南昌仁和怎么申請開通400電話 電話機器人黑斑馬免費 如何獲取地圖標注客戶 平涼地圖標注位置怎么弄 拓展地圖標注 電話機器人電銷系統(tǒng)掙話費

1.原生H5 video標簽

<video id="mse" autoplay=true playsinline controls="controls">
   <source src="實機視頻地址" type="video/mp4">
   你的瀏覽器不支持Video標簽
</video>

2.第三方插件video.js

_this.player = videojs(
    _this.videoNode,
    {
        autoplay: true,
        bigPlayButton : false,
        controls: true,
        preload: 'auto',
        poster: poster,
        notSupportedMessage: '視頻加載失敗,請刷新再試試',
        sources: [
            {
                src: videoUrl,
                type: 'video/mp4',
            },
        ],
    },
    function onPlayerReady() {
        this.play();
    }
)

<video
  ref={(node) => (this.videoNode = node)}
  className="video-js vjs-big-play-centered"
  preload="auto"
  autoplay="autoplay"
  playsinline='true'
  webkit-playsinline='true'
  x5-video-player-type='h5'
  x5-video-player-fullscreen='false'
  x5-video-orientation='portraint'
></video>

2.1 支持原生H5 video標簽的所有配置參數(shù),并且更加豐富的配置。

2.2 多環(huán)境兼容性

3.業(yè)務開發(fā)中的場景

目前基本表現(xiàn)良好

3.1 自動播放實現(xiàn)

3.1.1 非微信端

目前主要方法是在videojs 的onPlayerReady回調中調用play方法,以及特殊環(huán)境下需要用戶手動觸發(fā)

3.1.2 微信端

微信端(特別是ios)為了能夠實現(xiàn)自動播放功能,目前主要通過增加微信WeixinJSBridgeReady事件回調的方式來觸發(fā)

document.addEventListener("WeixinJSBridgeReady", function () {
    this.player.play();
}, false);

4.播放過程

一次播放三次請求

請求頭信息

響應信息

range: bytes=0- 首部信息,該信息用于檢測服務端是否支持 Range 請求

Accept-Ranges 首部(并且它的值不為 “none”),那么表示該服務器支持范圍請求

Content-Length 也是有效信息,因為它提供了要下載的視頻的完整大小

Content-Range 響應首部則表示這一部分內容在整個資源中所處的位置

range - 可以分片段請求,此時的Content-Range則返回的對應請求區(qū)間的大小

5.其他場景

5.1 如何實現(xiàn)視頻本地預覽

視頻本地預覽的功能主要利用 URL.createObjectURL() 方法來實現(xiàn)。URL.createObjectURL() 靜態(tài)方法會創(chuàng)建一個 DOMString,其中包含一個表示參數(shù)中給出的對象的 URL。這個 URL 的生命周期和創(chuàng)建它的窗口中的 document 綁定。這個新的 URL 對象表示指定的 File 對象或 Blob 對象。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>視頻本地預覽示例</title>
  </head>
  <body>
    <input type="file" accept="video/*" onchange="loadFile(event)" />
    <video
      id="previewContainer"
      controls
      width="480"
      height="270"
      style="display: none;"
    ></video>

    <script>
      const loadFile = function (event) {
        const reader = new FileReader();
        reader.onload = function () {
          const output = document.querySelector("#previewContainer");
          output.style.display = "block";
          output.src = URL.createObjectURL(new Blob([reader.result]));
        };
        reader.readAsArrayBuffer(event.target.files[0]);
      };
    </script>
  </body>
</html>

5.2 如何實現(xiàn)播放器截圖

播放器截圖功能主要利用 CanvasRenderingContext2D.drawImage() API 來實現(xiàn)。Canvas 2D API 中的 CanvasRenderingContext2D.drawImage() 方法提供了多種方式在 Canvas 上繪制圖像。

drawImage API 的語法如下:

void ctx.drawImage(image, dx, dy); 
void ctx.drawImage(image, dx, dy, dWidth, dHeight); 
void ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>播放器截圖示例</title>
  </head>
  <body>
    <video id="video" controls="controls" width="460" height="270" crossorigin="anonymous">
      <!-- 請?zhí)鎿Q為實際視頻地址 -->
      <source src="請?zhí)鎿Q為實際視頻地址" />
    </video>
    <button onclick="captureVideo()">截圖</button>
    <script>
      let video = document.querySelector("#video");
      let canvas = document.createElement("canvas");
      let img = document.createElement("img");
      img.crossOrigin = "";
      let ctx = canvas.getContext("2d");

      function captureVideo() {
        canvas.width = video.videoWidth;
        canvas.height = video.videoHeight;
        ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
        img.src = canvas.toDataURL();
        document.body.append(img);
      }
    </script>
  </body>
</html>

5.3 如何實現(xiàn) Canvas 播放視頻

使用 Canvas 播放視頻主要是利用 ctx.drawImage(video, x, y, width, height) 來對視頻當前幀的圖像進行繪制,其中 video 參數(shù)就是頁面中的 video 對象。所以如果我們按照特定的頻率不斷獲取 video 當前畫面,并渲染到 Canvas 畫布上,就可以實現(xiàn)使用 Canvas 播放視頻的功能。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>使用 Canvas 播放視頻</title>
  </head>
  <body>
    <video id="video" controls="controls" style="display: none;">
      <!-- 請?zhí)鎿Q為實際視頻地址 -->
      <source src="請?zhí)鎿Q為實際視頻地址" />
    </video>
    <canvas
      id="myCanvas"
      width="460"
      height="270"
      style="border: 1px solid blue;"
    ></canvas>
    <div>
      <button id="playBtn">播放</button>
      <button id="pauseBtn">暫停</button>
    </div>
    <script>
      const video = document.querySelector("#video");
      const canvas = document.querySelector("#myCanvas");
      const playBtn = document.querySelector("#playBtn");
      const pauseBtn = document.querySelector("#pauseBtn");
      const context = canvas.getContext("2d");
      let timerId = null;

      function draw() {
        if (video.paused || video.ended) return;
        context.clearRect(0, 0, canvas.width, canvas.height);
        context.drawImage(video, 0, 0, canvas.width, canvas.height);
        timerId = setTimeout(draw, 0);
      }

      playBtn.addEventListener("click", () => {
        if (!video.paused) return;
        video.play();
        draw();
      });

      pauseBtn.addEventListener("click", () => {
        if (video.paused) return;
        video.pause();
        clearTimeout(timerId);
      });
    </script>
  </body>
</html>

以上就是前端H5 Video常見使用場景簡介的詳細內容,更多關于前端H5 Video常見場景的資料請關注腳本之家其它相關文章!

標簽:西藏 永州 漯河 遼源 棗莊 青島 池州 新疆

巨人網絡通訊聲明:本文標題《前端H5 Video常見使用場景簡介》,本文關鍵詞  前端,Video,常見,使用,場景,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《前端H5 Video常見使用場景簡介》相關的同類信息!
  • 本頁收集關于前端H5 Video常見使用場景簡介的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    99久久99久久综合| 青青草97国产精品免费观看| 91在线porny国产在线看| 日韩电影在线一区二区| 一区二区三区在线视频观看58| 久久久不卡影院| 欧美不卡视频一区| 日韩欧美电影一区| 日韩三级伦理片妻子的秘密按摩| 精品1区2区3区| 欧美性受xxxx| 欧美日韩五月天| 欧美日韩视频第一区| 欧美日韩在线播放三区四区| 欧美最新大片在线看| 欧美日韩亚洲综合| 日韩视频在线永久播放| 日韩精品在线网站| 国产亚洲欧美色| 国产精品久久久久久久久久免费看| 国产精品丝袜久久久久久app| 中文文精品字幕一区二区| 亚洲欧美自拍偷拍| 亚洲亚洲精品在线观看| 日韩国产在线一| 国内精品久久久久影院一蜜桃| 国产成人一区二区精品非洲| 不卡一区二区三区四区| 欧美系列亚洲系列| 日韩一区二区三区在线| 久久久久久夜精品精品免费| 亚洲欧洲日产国码二区| 亚洲成人第一页| 国产一区二区三区| 日本韩国精品在线| 日韩免费电影网站| 国产精品乱码人人做人人爱 | 亚洲国产成人高清精品| 青青草视频一区| 成av人片一区二区| 欧美精品一卡两卡| 日韩一区二区三区电影在线观看 | 国产成a人亚洲精| 色久综合一二码| 日韩免费观看高清完整版| 国产精品久线在线观看| 日本亚洲一区二区| 成人激情视频网站| 91精品国产丝袜白色高跟鞋| 欧美激情中文字幕一区二区| 午夜伊人狠狠久久| 97久久超碰国产精品| 精品国产免费视频| 一区二区三区日韩欧美精品| 国产一区二区三区四区在线观看| 欧美中文字幕一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 曰韩精品一区二区| 高潮精品一区videoshd| 日韩欧美一区中文| 亚洲午夜羞羞片| 不卡电影一区二区三区| 欧美不卡在线视频| 蜜臀av亚洲一区中文字幕| 91黄色激情网站| 国产精品国产三级国产aⅴ原创| 免费人成网站在线观看欧美高清| 色综合久久久久综合体| 中文字幕不卡在线观看| 久久福利视频一区二区| 在线不卡免费av| 亚洲综合一区二区三区| 北岛玲一区二区三区四区| 久久久蜜臀国产一区二区| 久久se精品一区精品二区| 在线成人av影院| 香蕉久久一区二区不卡无毒影院| 91国在线观看| 一区二区三区四区激情| 在线免费不卡电影| 亚洲精品国产精品乱码不99| 日本久久精品电影| 亚洲另类一区二区| 91影视在线播放| 亚洲三级在线免费| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品久久久久久妇女6080| 国产aⅴ综合色| 国产精品丝袜一区| 色中色一区二区| 亚洲一区二区三区四区五区中文| 欧美在线视频全部完| 亚洲成a人在线观看| 51精品国自产在线| 精品在线观看视频| 国产亚洲欧美在线| 99精品视频在线播放观看| 亚洲美女一区二区三区| 欧美视频中文一区二区三区在线观看| 亚洲一卡二卡三卡四卡无卡久久| 91国偷自产一区二区使用方法| 亚洲国产毛片aaaaa无费看 | 国产91丝袜在线18| 国产精品色婷婷久久58| 99久久99精品久久久久久 | 亚洲男人天堂一区| 日本乱人伦aⅴ精品| 日韩福利电影在线观看| 精品处破学生在线二十三| 国产酒店精品激情| 成人欧美一区二区三区| 欧美日韩一区不卡| 精品一区二区三区香蕉蜜桃| 国产欧美一区视频| 欧美亚洲动漫制服丝袜| 老司机精品视频导航| 国产精品无码永久免费888| 在线观看精品一区| 免费av成人在线| 中文字幕在线免费不卡| 欧美日韩午夜影院| 高清av一区二区| 水野朝阳av一区二区三区| 国产亚洲视频系列| 欧美精品 日韩| 成人黄色大片在线观看| 日韩高清不卡一区二区| 亚洲色图在线播放| 日韩欧美国产麻豆| 在线观看一区不卡| 国产精品一线二线三线| 天堂一区二区在线免费观看| 中文字幕精品—区二区四季| 欧美精品丝袜久久久中文字幕| 国产成人av电影| 男女男精品网站| 一区二区欧美精品| 久久久久久久久岛国免费| 欧美系列在线观看| a4yy欧美一区二区三区| 久久aⅴ国产欧美74aaa| 亚洲国产精品人人做人人爽| 国产精品色一区二区三区| 日韩欧美视频一区| 精品视频在线看| 色婷婷久久久久swag精品| 国产jizzjizz一区二区| 久久精品国产99| 亚洲bdsm女犯bdsm网站| 亚洲婷婷综合久久一本伊一区| wwwwxxxxx欧美| 日韩色在线观看| 在线不卡欧美精品一区二区三区| 日本韩国欧美三级| 一本色道久久综合狠狠躁的推荐| 国产成a人无v码亚洲福利| 精品一区二区三区免费毛片爱| 亚洲成av人片一区二区| 亚洲制服丝袜av| 一区二区三区成人| 综合欧美一区二区三区| 国产精品久线在线观看| 久久九九久久九九| 国产亚洲女人久久久久毛片| 日韩欧美你懂的| 日韩欧美一区二区免费| 日韩你懂的在线播放| 日韩欧美aaaaaa| 久久午夜羞羞影院免费观看| 久久综合狠狠综合久久综合88| 精品sm在线观看| 精品对白一区国产伦| 国产日韩av一区二区| 日本一区二区三区免费乱视频| 久久这里只有精品首页| 国产午夜亚洲精品理论片色戒 | 亚洲1区2区3区视频| 亚洲自拍偷拍九九九| 婷婷夜色潮精品综合在线| 日产精品久久久久久久性色| 免费成人av资源网| 国产一区二区三区久久久| 成人三级在线视频| 欧美视频一区二区三区在线观看| 99久久免费视频.com| 色噜噜偷拍精品综合在线| 欧美性生活影院| 日韩美一区二区三区| 久久久久亚洲蜜桃| ...av二区三区久久精品| 艳妇臀荡乳欲伦亚洲一区| 亚洲午夜激情av| 免费高清在线视频一区·| 狠狠狠色丁香婷婷综合激情 | 国产69精品久久久久777| 99国产精品国产精品久久| 欧美理论片在线| 国产人伦精品一区二区| 亚洲精品国久久99热| 麻豆91在线看|