整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          HTML基礎(chǔ)篇-17HTML之視頻播放

          頻是網(wǎng)頁承載內(nèi)容很重要的一個元素,也是必不可少的網(wǎng)頁表現(xiàn)形式(圖、文、表、視、音)之一。曾經(jīng)網(wǎng)頁要想播放視頻、制作游戲,必須得用第三方插件flash。不僅編寫代碼要使用額外的語言,瀏覽器也必須得裝第三方插件,非常不方便。隨著html5標準逐漸普及,移動端、pc端開始拋棄flash,如今幾乎所有的瀏覽器都使用html5來制作視頻。

          目標

          1. 了解Flash為何會被淘汰?
          2. 如何設(shè)置視頻播放?
          3. 視頻播放支持哪幾種視頻格式?

          flash崛起--網(wǎng)頁標準的恥辱

          flash是Adobe公司其中之一的產(chǎn)品。它發(fā)起于W3C與WHATWG的第五代web標準之爭,它撿了個大便宜,乘機定義網(wǎng)頁媒體標準。

          W3C與WHATWG的第五代web標準之爭

          flash填補了當時網(wǎng)頁只有文字和圖片的單調(diào)世界,將媒體(視頻、音頻、游戲)引入了網(wǎng)頁,將網(wǎng)頁帶進多彩的世界。

          Flash能夠用僅僅十幾K到幾百K的體積,呈現(xiàn)出放大也不會失真的矢量彩色動圖,甚至還能夠做出足以令人沉迷一整天的Flash小游戲。

          火柴人

          Flash用第三方插件的身份,幾乎制霸了網(wǎng)頁媒體的標準,讓W3C尷尬不已,甚至從某種程度上說,讓真正的網(wǎng)頁標準推廣受阻。

          flash衰敗--HTML5崛起并全面普及

          2010年4月,蘋果CEO公開表示從此蘋果所有產(chǎn)品不再支持flash。flash從此慢慢喪失移動端的市場和地位。

          喬布斯支持html5

          2012年,安卓宣布不再支持Flash,從此flash徹底失去了移動端市場和地位。

          2012年html5標準確立,html5在逐漸制霸移動端的地位時,也直接沖擊了flash僅剩的桌面市場,flash桌面市場的份額在逐步下降。

          各大瀏覽器逐步默認禁用Flash,現(xiàn)2019年幾乎都全部禁用。

          默認禁用Flash

          Adobe將在2020年停止開發(fā)和更新flash。

          2020年停止開發(fā)和更新flash

          flash興起衰敗皆因自己

          Flash以第三方插件的身份,做著平臺該做的事情,但沒有推動行業(yè)標準統(tǒng)一化,反而企圖私立標準。

          隨著功能的增多,能解碼編碼H.264,能進行3D渲染,能播放7.1聲道環(huán)繞聲等,功能集于一身變得臃腫,效率變得低下。

          Flash非常不安全。Flash能夠運行相當復雜的代碼,這讓Flash非常容易被滲透。加上Adobe在安全方面的不上心,這令Flash安全問題頻發(fā)。

          Flash很不穩(wěn)定。作為一個插件,它自身頻頻崩潰也就罷了,還經(jīng)常拉著瀏覽器乃至操作系統(tǒng)一起殉情。

          Flash加劇了手機的耗電量。

          html5媒體新標準--Video標簽

          作用是在 HTML 頁面中嵌入視頻元素。Video定義視頻,比如電影片段或其他視頻流。

          視頻播放

          Video標簽的屬性

          • src 視頻的播放源
          • controls 瀏覽器自帶的控制條
          • width 視頻寬度
          • height 視頻高度
          • poster 視頻封面
          • autoplay 自動播放
          • preload 預(yù)加載

          有四個是必須的屬性:src、controls、width、height屬性。

          視頻播放代碼

          source標簽

          <video> 元素支持三種視頻格式: MP4, WebM, 和 Ogg。

          <source> 元素可以鏈接不同格式的視頻文件。瀏覽器將使用第一個可識別的格式。

          • src 視頻的播放源
          • Type 視頻格式 MP4, WebM, 和 Ogg

          支持多格式的視頻

          總結(jié)

          video標簽體系

          在QWebEngineView中播放HTML視頻,可以使用HTML5的video元素。首先,確保你已經(jīng)加載了包含視頻標簽的HTML頁面。然后,在QWebEngineView中執(zhí)行以下步驟:

          1. 獲取QWebEnginePage對象:

          ```cpp

          QWebEnginePage *page = view->page();

          ```

          2. 注冊一個JavaScript回調(diào)函數(shù)來處理視頻事件:

          ```cpp

          QObject::connect(page, &QWebEnginePage::loadFinished, [=](bool ok) {
          if (ok) {
          page->runJavaScript("document.getElementsByTagName('video')[0].addEventListener('ended', function() { window.videoEnded(); });");
          }
          });

          ```

          這個示例中,我們注冊了一個名為`videoEnded()`的JavaScript函數(shù)來處理視頻結(jié)束事件。

          3. 在C++代碼中定義一個槽函數(shù)來處理視頻結(jié)束事件:

          ```cpp

          public slots:
          void handleVideoEnded();

          ```

          4. 將槽函數(shù)與JavaScript回調(diào)函數(shù)關(guān)聯(lián)起來:

          ```cpp

          QObject::connect(page, &QWebEnginePage::javaScriptWindowObjectCleared, [=]() {
          page->mainFrame()->addToJavaScriptWindowObject("window", this);
          });

          ```

          5. 在槽函數(shù)中實現(xiàn)邏輯:

          ```cpp

          void MyClass::handleVideoEnded()
          {
          // 處理視頻結(jié)束事件的邏輯
          }

          ```

          6. 在JavaScript中調(diào)用C++槽函數(shù):

          ```javascript

          function videoEnded() {
          window.videoEnded();
          }

          ```

          通過這些步驟,你就可以在QWebEngineView中播放和處理HTML視頻了。請注意,這里只提供了基本的示例,具體實現(xiàn)可能需要根據(jù)你的具體需求進行調(diào)整。

          、HTML代碼如下:

          <div id="player"></div>
          

          二、JavaScript代碼如下:

          <script src="http://cdn.jsdelivr.net/npm/xgplayer/browser/index.js" charset="utf-8"></script>
          <script src="http://cdn.jsdelivr.net/npm/xgplayer-flv.js/browser/index.js" charset="utf-8"></script>
          <script type="text/javascript">
           new window.FlvJsPlayer({
           id: 'player',
           isLive: false,
           playsinline: true,
           url: '/test/test.flv',
           autoplay: true,
           height: window.innerHeight,
           width: window.innerWidth
           });
          </script>
          
          


          主站蜘蛛池模板: 精品久久国产一区二区三区香蕉 | 99偷拍视频精品一区二区| 亚洲欧美国产国产一区二区三区| 人妻av综合天堂一区| 国产不卡视频一区二区三区| 一色一伦一区二区三区| 亚洲线精品一区二区三区影音先锋 | 视频一区在线播放| 日韩精品一区二区三区中文精品| 亚洲高清成人一区二区三区| 亚洲av无码一区二区三区人妖 | 国产波霸爆乳一区二区| 国产一区二区三区美女| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 91国在线啪精品一区| 国产精品视频无圣光一区| 99精品一区二区三区无码吞精 | 日本一区二区不卡视频| 亚洲一区二区三区国产精品| 国产成人精品视频一区| 日本一区二区三区不卡视频| 精品一区二区三区免费毛片爱| 日本一区二区三区高清| 国产精品亚洲高清一区二区| 波多野结衣中文字幕一区二区三区| 精品人妻无码一区二区三区蜜桃一 | 亚洲国产国产综合一区首页| 手机看片福利一区二区三区| 一区在线免费观看| 视频在线观看一区二区三区| 国产嫖妓一区二区三区无码| 精品国产亚洲一区二区三区在线观看| 97精品国产一区二区三区| 免费无码VA一区二区三区| 亚洲AV乱码一区二区三区林ゆな| 国产在线无码一区二区三区视频| 丝袜人妻一区二区三区网站| 久久无码一区二区三区少妇| 国模无码一区二区三区不卡| 免费无码一区二区三区蜜桃| 日本欧洲视频一区|