目錄
PIP API做什麼
如何使用PIP API
1。檢查支持和可用性
2。請求PIP模式
3。處理PIP狀態更改
實際示例:添加一個PIP按鈕
重要筆記和局限性
結論
首頁 web前端 H5教程 視頻中的圖片API

視頻中的圖片API

Aug 19, 2025 pm 06:07 PM

圖片中的圖片(PIP)API使視頻可以在用戶在其他地方導航時在浮動窗口中播放; 1。通過“圖片InpictureEnabled”和Video的DisablePictureInPicture屬性檢查支持; 2。用requestPictureInpicture()觸發pip pip; 3。處理國家用戶的變化和teverpictureInpicture事件;該功能需要用戶互動,一次只允許一個PIP窗口,具有有限的移動支持,可能排除DRM內容,並且不提供樣式控制,但是當適當使用適當的UI反饋和支持檢查時,可以增強多任務處理。

圖片中的圖片(PIP)是一個方便的功能,可以使用戶能夠在設備上的其他地方導航到其他地方,例如瀏覽另一個頁面或使用其他應用程序。在網絡上,通過圖片中的API啟用了此功能,這是一個相對較新但支持的Web API,使開發人員可以控制<video></video>元素對PIP行為的控制。

這是您需要知道的有效使用它。


PIP API做什麼

圖片中的API允許一個網頁以編程方式輸入和退出PIP模式以獲取視頻。一旦激活,該視頻就會從瀏覽器中彈出到一個留在其他應用程序頂部的小型移動窗口中,從而讓用戶多任務不會中斷播放。

它僅適用於<video></video>元素,並且需要用戶交互才能啟動(出於安全和用戶的經驗原因)。 Chrome,Edge和某些版本的Safari這樣的瀏覽器支持它,但是Firefox和其他版本還沒有。


如何使用PIP API

使用API很簡單。這是關鍵部分:

1。檢查支持和可用性

在嘗試使用PIP之前,請檢查瀏覽器是否支持:

 if(文檔中的&#39;Picture InpictureEnabled&#39;){
  console.log(&#39;PIP得到支持!&#39;);
}

您還可以檢查特定視頻是否可以輸入PIP:

如果(!video.disablepictureInpicture){
  //視頻被允許進入PIP
}

注意:使用<video>標籤上的disablePictureInPicture屬性以防止PIP(如果需要)。

2。請求PIP模式

要輸入PIP,請在視頻元素上調用requestPictureInPicture()

異步函數openpip(){
  嘗試 {
    等待Video.requestPictureInPicture();
  } catch(err){
    Console.Error(“未能輸入PIP:”,ERR);
  }
}

這必須由用戶手勢(如單擊)觸發,否則將失敗。

3。處理PIP狀態更改

您可以在PIP啟動或結束時收聽:

 Video.AddeventListener(&#39;enterPictureInpicture&#39;,(event)=> {
  console.log(&#39;輸入的pip&#39;);
  //調整UI,例如,隱藏控件
});

Video.AddeventListener(&#39;wellpictureInpicture&#39;,(event)=> {
  console.log(“退出的pip&#39;);
  //還原UI
});

這些事件有助於使您的界面保持同步。


實際示例:添加一個PIP按鈕

<視頻ID =“ myvideo”控件>
  <source src =“ demo.mp4” type =“ video/mp4”>
</video>
<button ID =“ pip button”>切換pip </button>
 const video = document.getElementById(&#39;myvideo&#39;);
const pip button = document.getElementById(&#39;pip button&#39;);

pipbutton.addeventlistener(&#39;click&#39;,async()=> {
  if(document.pictureinpictureelement){
    //退出如果已經在PIP中
    等待document.exitPictureInpicture();
  } 別的 {
    //輸入PIP
    等待Video.requestPictureInPicture();
  }
});

//在不可用時禁用按鈕
pipButton.disabled =! document.pictureInPictureEnabled;

這將創建一個尊重當前PIP狀態的簡單切換按鈕。


重要筆記和局限性

  • 需要用戶手勢:頁面加載時無法自動啟動PIP。
  • 一次只有一個PIP窗口:如果另一個視頻(或應用程序)在PIP中,那麼當前的視頻將退出。
  • 移動支持是有限的:由於UI限制,大多數移動瀏覽器不支持PIP。
  • 並非所有視頻都可以輸入PIP :受DRM保護的內容或具有某些限制的視頻可能會被阻止。
  • 樣式限制:PIP窗口由OS/瀏覽器控制,因此您無法自定義其外觀。

結論

圖片中的API是一種功能強大但簡單的工具,可增強視頻內容的用戶體驗。通過讓用戶在瀏覽時保持視頻可見,它增加了便利性,尤其是對於教程,視頻或實時流。

周到地使用它:提供明確的控件,尊重用戶意圖,並始終檢查支持。隨著瀏覽器採用的越來越多,PIP已成為現代網絡視頻的標準功能。

基本上,這不是魔術 - 只是一個小型API,使多任務更加順暢。

以上是視頻中的圖片API的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Stock Market GPT

Stock Market GPT

人工智慧支援投資研究,做出更明智的決策

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

如何在HTML5中製作具有自定義控件的音頻播放器? 如何在HTML5中製作具有自定義控件的音頻播放器? Sep 16, 2025 am 04:21 AM

首先創建隱藏的audio元素並構建自定義控件UI,然後通過JavaScript將播放、暫停、進度調節和音量控制等功能與音頻API連接,實現完全個性化的音頻播放器。

如何在HTML5中使用服務器量事件(SSE)? 如何在HTML5中使用服務器量事件(SSE)? Sep 21, 2025 am 06:11 AM

SSEenablesreal-time,unidirectionalserver-to-clientupdatesviaHTTP;useEventSourceinJavaScripttoconnect,handlemessageswithonmessage,setserverresponsetypetotext/event-stream,formatdatawith"data:"and"\n\n",andoptionallyincludeeventIDsf

如何管理HTML5中可訪問性的焦點? 如何管理HTML5中可訪問性的焦點? Sep 21, 2025 am 05:27 AM

UsesemanticHTMLelementslikeandfornativefocusabilityandkeyboardsupport.EnsurelogicaltaborderandvisiblefocusindicatorsviaCSS.Programmaticallymanagefocusindynamiccontentlikemodalsusingelement.focus(),trappingfocusinsideandreturningitafterclosure.ApplyAR

如何在HTML5中正確使用元素? 如何在HTML5中正確使用元素? Sep 17, 2025 am 06:33 AM

ThemenelementInhtml5 representsDatesandTimesInamachine-regrableFormat,增強Accostibilityandseo; usetheDateTateTeTeTeTeTimeAttributeWithiso-FormattedValueSprovidesprovidesemanticmanticmanticmanticmanticmantingmanticmanting,特別是Forhuman-Fryman-Frighan-FriendliendTextortations,EnsuringConsistringConsistentInterIntertentertentertentertrationbybymac

如何使用ARIA角色在HTML5中可訪問? 如何使用ARIA角色在HTML5中可訪問? Sep 21, 2025 am 04:41 AM

ARIAenhanceswebaccessibilitybyaddingsemanticmeaningtoelementswhennativeHTMLisinsufficient.UseARIAroleslikerole="button",aria-expanded,andaria-labelforcustomcomponentsordynamiccontent,butalwaysprefernativeHTMLelementssuchasbuttonornav.Update

如何根據HTML5中的正則表達式驗證形式場? 如何根據HTML5中的正則表達式驗證形式場? Sep 22, 2025 am 05:11 AM

UsEthepatternattributeInhtml5InputElementStavalIdateAgainStareGex,SustAsForpassWordsRequiringNumbers,大寫,小寫,小寫和最小值; pairwithTitleForuserGuuserGuiDanceNanceNanceAgeAgeAgeAncuiredeNandAnceAndEnceAneandRequiredFornonOn-enon-emptement-emptentement-emptentement。

如何製作HTML5圖像圖響應 如何製作HTML5圖像圖響應 Sep 17, 2025 am 04:34 AM

要使HTML5圖像映射響應式,可通過JavaScript動態縮放坐標或使用CSS絕對定位覆蓋元素;首先確保圖像本身響應式,然後在頁面加載和窗口調整時通過JavaScript根據原始與當前尺寸比例重新計算area區域坐標,或改用百分比定位的透明鏈接覆蓋在圖像上來實現跨設備適配,最終保證交互區域隨圖像正確縮放,兩種方法各有適用場景,JavaScript方案兼容原有結構,CSS方案更簡潔無需腳本,應根據項目需求選擇,且均需測試多屏效果並確保觸控區域足夠大,推薦複雜地圖用JavaScript法,簡單佈局

如何在HTML5文檔中對SVG路徑進行動畫動畫? 如何在HTML5文檔中對SVG路徑進行動畫動畫? Sep 21, 2025 am 01:58 AM

USECSSSTROKE-DASHARRAYAND和Strows-DashoffSetForsimpledrawingAnimations; 2.ApplyJavascriptForderynamicTriggerSlikeloadorsCroll; 3. 3. EmploylibrariesLibrariesLiblarieLikeGsapForPathMorphring; 4.4.ptimizeptimizeperanceBylimizeperanceBylimityBylimityConconcurrentanimations。

See all articles