整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          qwebengineview怎么播放html視頻

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

          1. 獲取QWebEnginePage對象:

          ```cpp

          QWebEnginePage *page = view->page();

          ```

          2. 注冊一個JavaScript回調函數來處理視頻事件:

          ```cpp

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

          ```

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

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

          ```cpp

          public slots:
          void handleVideoEnded();

          ```

          4. 將槽函數與JavaScript回調函數關聯起來:

          ```cpp

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

          ```

          5. 在槽函數中實現邏輯:

          ```cpp

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

          ```

          6. 在JavaScript中調用C++槽函數:

          ```javascript

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

          ```

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

          網頁中添加視頻、聲音、動畫等,可以增強用戶體驗。在HTML5之前,為網頁添加多媒體的唯一辦法,就是使用第三方的插件(如,Adobe Flash等)。

          HTML5中,提供了對多媒體的原生支持,只需通過 video 元素,就可以向網頁嵌入視頻、電影或音頻資源,通過 audio 元素向網頁嵌入音頻資源,省時省力。

          HTML中嵌入視頻和音頻代碼

          一、視頻

          在HTML5時代,在網頁中嵌入視頻非常簡單,只需要一個 video 元素,并設置它的 src 屬性,使其鏈接一個視頻地址就可以完全搞定了,這個太esay了

          <video src="media/vedio.mp4"></video>

          把這個網站在IE8中打開一看,網站上除了一片空白外,什么也沒有,這是為什么呢?

          原來 video 是HTML5最新引入的元素,并不是所有瀏覽器都支持它,IE8及以下版本都無法識別 video 標簽。如果瀏覽器不識別 video標簽,則會忽略它,當做什么都沒有。這就是網站上一片空白的原因。

          這個問題好解決,只需在 video 標簽之間放置文本信息,不支持 video 標簽的老瀏覽器,會顯示 video 標簽之間的文本信息,以提示用戶瀏覽器不支持 video,就這么簡單!

          <video src="media/vedio.mp4">

          你的瀏覽器已經老掉牙了,不支持video,還不趕快使用現代瀏覽器O(∩_∩)O~!

          </video>

          在IE8上打開一看,確實顯示了提示文本,這下好多了,至少用戶知道自己的瀏覽器不能播放視頻,該換瀏覽器了。

          下載了Opera瀏覽器的最新版本25.0,打開一看,怎么還是一片空白外!Opera瀏覽器明明是支持video標簽的,那又是為什么呢?

          這個就得從視頻的編碼格式說起了。video 元素支持三種視頻格式:Ogg、MP4、WebM。

          Ogg是帶有Theora視頻編碼和Vorbis音頻編碼的文件,后綴名為 .ogg;MP4是帶有H.264視頻編碼和AAC音頻編碼的MP4文件,后綴名為 .mp4;WebM是VP8視頻編碼和Vorbis音頻編碼的文件,后綴名為 .webm。

          這個Opera瀏覽器呢,它可以支持ogg,但不支持mp4。由于Opera支持video標簽,故video標簽之間的文本信息沒有顯示出來,但它不支持ogg,所以就不進行播放,最終導致頁面出現一片空白。這下可怎么辦呢?

          其實辦法有的是,我們可以從網上下載一副圖像,放到視頻播放窗口,如果視頻無法播放,就顯示這張圖片,是不是更好呢?從網上下載一張美女圖片,干脆叫beauty.jpg吧。那這個圖像怎么添加到視頻窗口呢?

          video標簽有個poster 屬性,就是專門在視頻窗口放置圖片的。poster是一個video的占位符,無論什么情況下,只要視頻還沒有播放(視頻下載過程中、視頻不存在、不支持該視頻類型、用戶點擊播放按鈕前),就會顯示該圖像,可以看做是視頻播放之前插入的宣傳畫或海報。

          <video src="media/vedio.mp4" poster = "img/beauty.jpg">

          你的瀏覽器已經老掉牙了,不支持video,還不趕快使用現代瀏覽器O(∩_∩)O~!

          </video>

          在Opera瀏覽器上刷新一下,真的有一個美女沖著自己微笑呢。雖然視頻沒有播放出來,這回心情卻是好多了。

          那我可不能一天到晚只看美女呀,視頻還是還是要想辦法播放出來的。既然Opera瀏覽器不支持mp4,我們就換成需要ogg吧,這樣就肯定沒問題了。

          我想了想,這個辦法不好,萬一某個瀏覽器只支持支持ogg,不支持mp4呢。這年頭,什么都缺,就是不缺點子,隨便在網上一搜,辦法就有了。

          在 video 元素中添加 source 元素,就可以解決這個問題。在source 元素中,通過 src 屬性指定視頻的地址,通過 type 屬性指定視頻的類型,以幫助瀏覽器決定是否能播放該視頻。并且,在 video 元素中可以添加任意多個source 元素,讓不同的 source 元素鏈接到不同的視頻文件。

          這樣的話,當瀏覽器發現 video 元素時,首先會查看它本身是否定義了 src 屬性。如果沒有,就會檢查 source 元素。瀏覽器會逐個查看這些視頻源,直到找到一個可以播放的視頻。一旦找到,就會播放它并忽略其他的視頻源。我們干脆添加兩個source,一個是mp4,一個是ogg,這下視頻是一定能播放出來了。

          <video poster = "img/beauty.jpg">

          <source src="media/vedio.mp4" type="video/mp4">

          <source src="media/vedio.ogg" type="video/ogg">

          你的瀏覽器已經老掉牙了,不支持video,還不趕快使用現代瀏覽器O(∩_∩)O~!

          </video>

          在Opera瀏覽器上又刷新一下,只有美女沖著我微笑,視頻還是沒播放出來。唉,太粗心了,忘記添加播放視頻的控件了。

          在video標簽中,通過添加controls 屬性來為視頻添加播放控件,方便用戶執行播放、暫停操作和音量控制。

          <video poster = "img/beauty.jpg" controls>

          (此處略去500字…)

          </video>

          在Opera瀏覽器上又刷新一下,效果真的不一樣,這次不僅看到美女,還看到了視頻控件。用鼠標猛戳一下那個播放按鈕,哈哈,不錯,真的聽到美妙的旋律。我們的ogg文件,終于播放出來了,讓我們好好享受一下吧O(∩_∩)O。

          聽了一會,忽然一想,不對呀,我剛才點了播放按鈕后,等了半天才聽到聲音。能不能我一點播放按鈕,就立即播放呢?

          原來視頻也是需要下載緩存的,點擊播放按鈕后,首先緩存,然后才播放的。那能不能在頁面加載的同時就緩存呢。這樣,用戶點擊播放后,就不必等待了。

          這當然可以,在video標簽中,通過添加preload屬性來為視頻添加預加載功能,在頁面加載的同時加載視頻。

          <video poster = "img/beauty.jpg" controls preload>

          (此處略去500字…)

          </video>

          關于 preload 屬性,稍微再啰嗦一點,就是可以把它設置為 metadata,讓瀏覽器僅僅預加載視頻的基本信息,如尺寸、時長、以及一些關鍵的幀。這樣的話,在開始播放之前,瀏覽器可以提前計算視頻的顯示尺寸。

          既然一切都OK了!讓我們看看mp4是不是能正常播放。下載最新版的Google Chrome 38.0瀏覽器,打開網頁,猛戳一下播放按鈕。

          等等~,等等~,不對,怎么只有聲音沒有畫面,明明是mp4格式的文件呀?使用暴風影音試了一下,是有畫面的呀!

          辛辛苦苦又在網上搜了一番,花了整整586秒,終于找到了答案。mp4視頻需要h.264編碼格式才會有圖像的。

          找了一個 h.264 編碼格式的 mp4 試了一下,不錯,確實有圖像了!看了半天,原來是一部老外的電影,嘰里咕嚕一陣,一句話也沒聽懂。那O(∩_∩)O~,能否提供中文字幕呢,這樣就不必費老大勁去聽了!

          HTML5中,通過在video元素添加track元素為視頻添加字幕。字幕文件有兩種格式:WebVTT和TTML。WebVTT是Web視頻文本軌跡(Web Video Text Track),是UTF-8編碼格式的文本文件;TTML是時序文本標記語言(Timed Text Markup Language),是XML格式的文件。兩種文件的具體格式,已經超出我們的討論范圍。

          video元素支持添加多個track元素,不同的track元素鏈接到不同的字幕文件。用戶可以在各個字幕間進行切換。

          <video poster = "img/beauty.jpg" controls preload>

          <track src="en_track.vtt" kind="subtitles" srclang="en" label="English" default>

          <track src="cn_track.vtt" kind="captions" srclang="zh" label="簡體中文">

          </video>

          track元素中,src屬性指定字幕文件的URL;srclang屬性字幕文件的語言類型,若kind 屬性值是 "subtitles" 時,該屬性必需的;label 屬性指定字幕標簽,每個字幕元素必需設置一個唯一不重復的標簽,切換字幕時,會顯示標簽的名稱;kind指定字幕內容類型,只能是subtitles、captions、descriptions、chapters、metadata 之一;default屬性指定是否是默認字幕,如果一個都沒指定,將不會自動顯示字幕。

          除了字幕外,我還希望對視頻進行過多的控制,比如讓視頻自動播放、循環播放、默認靜音,以及視頻窗口的尺寸等等,這些都能做到嗎?

          這已經不是什么事了,video 元素已經提供了相關屬性,根據需要設置相應的屬性就可以了。這些屬性及含義見表 23:

          HTML中嵌入視頻和音頻代碼

          哦,原來這么簡單呀!那就到此為止吧,網頁中嵌入視頻的全部代碼都在這里,就打包給你吧!

          <video width="300" poster="img/beauty.jpg" controls preload autoplay loop muted>

          <source src="media/vedio.mp4">

          <source src="media/vedio.ogg">

          <track src="en_track.vtt" kind="subtitles" srclang="en" label="English" default>

          <track src="cn_track.vtt" kind="captions" srclang="zh" label="簡體中文">

          你的瀏覽器已經老掉牙了,不支持video,還不趕快使用現代瀏覽器O(∩_∩)O~!

          </video>

          睜大眼睛一看,卻只有7行代碼。然而,就這區區7行代碼,可把他折磨得夠嗆。

          看著這一切都全部搞定,他仰望著天空,長長呼了一口氣,顯得是那么的放松,那么的愜意。此時,他閉上眼睛,在自己的夢幻世界里遨游!


          二、音頻

          有了在網頁中嵌入視頻的經歷,要在網頁中嵌入音頻,那簡直就是小菜一碟了。只要把vedio元素換成 audio 元素,就全部搞定。

          但需要了解的是,audio 所支持的音頻格式只有Ogg Vorbis、mp3 和 wav。還要知道,由于音頻沒有畫面,也就沒有 width、height、poster 屬性,而其他屬性都支持,并且跟視頻的含義相同。

          網頁中嵌入音頻的代碼如下:

          <audio controls preload autoplay loop muted>

          <source src="media/audio.mp3">

          <source src="media/audio.wav">

          <source src="media/audio.ogg">

          你的瀏覽器已經老掉牙了,不支持audio,還不趕快使用現代瀏覽器O(∩_∩)O~!

          </audio>

          TML+PHP超在視頻切片上傳,前端HTML5,VUE2,VUE3,React,JS,JQ。純HTML方式不太好實現,因為沒有提供切片API,視頻大概有1G,10G,50G左右,高清,超清視頻都有。

          PHP切片,分片,切割,分塊,分段,大文件,超大文件斷點續傳。刷新續傳。關機續傳,重啟續傳。前端用的是HTML

          VUE,React都用了HTML5的API,也就是chrome提供的切片API,小文件可以。

          前端HTML5,JS,JQ,VUE2,VUE3,React,

          后端PHP5,PHP6,PHP7,PHP8,ThinkPHP,

          服務器支持Linux,Windows,macOS,CentOS,中標麒麟,銀河麒麟,統信,龍芯,華為鯤鵬,

          數據庫支持MySQL,達夢數據庫,人大金倉

          需要提供前端源碼,后端源碼,控件源碼

          需要提供7*24小時技術支持,長期技術支持,長期維護服務

          需要提供手機,QQ,微信,企業微信,電子郵箱等聯系方式

          需要支持包含IE在內的全部瀏覽器

          終端需要支持Windows,macOS,Linux,信創國產化環境,中標麒麟,銀河麒麟,統信UOS,龍芯,華為

          功能需要支持10G,50G,100G大文件上傳和斷點續傳,刷新續傳,重啟續傳

          支持超大文件分片,分段,分塊,分割上傳下載,斷點續傳

          支持文件夾上傳,下載斷點續傳,支持文件夾層級結構,層級結構信息保存到數據庫,下載的時候同樣保留層級結構

          支持加密上傳,下載加密,端到端加密,國密SM4加密算法,數據加密傳輸,傳輸過程中要保證數據是加密的。

          版本:6.5.40

          代碼:https://gitee.com/xproer/up6-php/tree/6.5.40/

          安裝環境

          PHP:7.2.14

          調整塊大小

          NOSQL

          NOSQL不需要任何配置,可以直接訪問測試

          SQL

          創建數據庫

          您可以直接復制腳本進行創建

          配置數據庫連接

          6.安裝依賴

          訪問頁面進行測試

          數據表中的數據

          相關參考:

          文件保存位置

          php5教程


          主站蜘蛛池模板: 无码人妻精品一区二区三区久久久| 免费看AV毛片一区二区三区| 免费播放一区二区三区| 99国产精品欧美一区二区三区| 激情内射亚州一区二区三区爱妻| 亚洲日本va一区二区三区| 国精品无码一区二区三区左线| 精品国产一区二区麻豆| 亚洲熟女综合一区二区三区| 日韩免费无码一区二区三区| 中文字幕在线无码一区二区三区 | 91福利国产在线观看一区二区| 无码中文人妻在线一区| 亚洲福利一区二区| 亚洲综合一区二区| 色偷偷av一区二区三区| 亚洲一区二区电影| 农村乱人伦一区二区| 无码视频一区二区三区在线观看| 国产一区三区三区| 天堂Aⅴ无码一区二区三区| 久久精品国产亚洲一区二区三区| 无码日韩人妻AV一区二区三区| 国产精品免费视频一区| 国产一区二区精品久久91| 国产在线观看一区二区三区四区| 无码一区二区三区AV免费| 亚洲av乱码中文一区二区三区| 中文字幕日韩一区二区不卡| 亚洲AV无码一区二区三区牛牛| 亚洲日韩中文字幕一区| 国产成人精品一区二区A片带套 | 日韩精品一区二区亚洲AV观看| 国产午夜福利精品一区二区三区 | 91久久精品午夜一区二区| 精品一区二区三区无码免费视频| 亚洲Av无码一区二区二三区| 国产精品揄拍一区二区| 在线观看一区二区精品视频| 色综合久久一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综|