目次
PIP APIが行うこと
PIP APIの使用方法
1.サポートと可用性を確認します
2。PIPモードをリクエストします
3.ピップ状態の変更を処理します
実用的な例:ピップボタンを追加します
重要なメモと制限
結論

ビデオの絵の絵のAPI

Aug 19, 2025 pm 06:07 PM

Picture-in-Picture(PIP)APIを使用すると、ユーザーが他の場所に移動しながら、フローティングウィンドウでビデオを再生できます。 1.「PictureInPictureEnabled」を介してサポートをチェックし、ビデオのDisablePictureInPicture属性。 2。ユーザージェスチャーでRequestPictureInPicture()を使用してPIPをトリガーします。 3. EnterpictureInPictureおよびleavePictureinPictureイベントで状態の変更を処理します。この機能には、ユーザーのインタラクションが必要であり、一度に1つのPIPウィンドウのみを許可し、モバイルサポートが限られており、DRMコンテンツを除外し、スタイリングコントロールを提供できませんが、適切なUIフィードバックとサポートチェックで適切に使用するとマルチタスクを強化します。

Picture-in-Picture(PIP)は、別のページを閲覧したり、別のアプリを使用したりするなど、デバイスの他の場所をナビゲートしながら、小さな浮遊ウィンドウでビデオを視聴し続けることができる便利な機能です。 Webでは、この機能は、 <video></video>要素のPIP動作を開発者に制御できる比較的新しいがますますサポートされているWeb APIであるPicture-in Picture APIを通じて有効になります。

効果的に使用するために知っておくべきことは次のとおりです。


PIP APIが行うこと

Picture-in-Picture APIを使用すると、Webページをプログラムでプログラムで入力して、ビデオモードを終了します。アクティブ化されると、ビデオはブラウザから他のアプリの上に留まる小さな移動可能なウィンドウにポップアウトし、ユーザーが再生を中断することなくマルチタスクを可能にします。

<video></video>要素でのみ動作し、ユーザーインタラクションを開始する必要があります(セキュリティおよびユーザーエクスペリエンスの理由)。 Chrome、Edge、Safariのバージョンなどのブラウザはそれをサポートしていますが、Firefoxなどはまだそうではありません。


PIP APIの使用方法

APIの使用は簡単です。これが重要な部分です:

1.サポートと可用性を確認します

PIPを使用しようとする前に、ブラウザがサポートしているかどうかを確認してください。

 if( &#39;pictureinpictureEnabled&#39; in document){
  console.log( &#39;pipがサポートされています!&#39;);
}

特定のビデオがPIPを入力できるかどうかを確認することもできます。

 if(!video.disablepictureinpicture){
  //ビデオはPIPに移動できます
}

注:必要に応じてPIPを防ぐために、 <video>タグにdisablePictureInPicture属性を使用します。

2。PIPモードをリクエストします

PIPを入力するには、ビデオ要素でrequestPictureInPicture()を呼び出します。

 async function openpip(){
  試す {
    await video.requestpictureinpicture();
  } catch(err){
    Console.Error( "PIPの入力に失敗しました:"、err);
  }
}

これは、ユーザージェスチャー(クリックなど)によってトリガーされる必要があります。そうしないと、失敗します。

3.ピップ状態の変更を処理します

PIPが起動または終了したときに聞くことができます:

 video.addeventlistener( &#39;enterpictureinpicture&#39;、(event)=> {
  console.log( &#39;入力PIP&#39;);
  // UIを調整します。たとえば、コントロールを非表示にします
});

video.addeventlistener( &#39;reavepictureinpicture&#39;、(event)=> {
  console.log( &#39;exited pip&#39;);
  // uiを復元します
});

これらのイベントは、インターフェイスを同期させるのに役立ちます。


実用的な例:ピップボタンを追加します

<ビデオID = "myVideo" Controls>
  <source src = "demo.mp4" type = "video/mp4">
</video>
<ボタンID = "pipbutton">トグルpip </button>
 const video = document.getElementById( &#39;myVideo&#39;);
const pipbutton = document.getElementById( &#39;pipbutton&#39;);

pipbutton.addeventlistener( &#39;click&#39;、async()=> {
  if(document.pictureinpictureElement){
    //既にPIPで終了します
    document.exitpictureinpicture();
  } それ以外 {
    // PIPを入力します
    await video.requestpictureinpicture();
  }
});

// PIPが利用できないときにボタンを無効にします
pipbutton.disabled =!document.pictureinpictureenabled;

これにより、現在のピップ状態を尊重するシンプルなトグルボタンが作成されます。


重要なメモと制限

  • 必要なユーザージェスチャー:ページが読み込まれたときにピップを自動スタートすることはできません。
  • 一度に1つのPIPウィンドウのみがPIPにある場合、現在のビデオ(またはアプリ)がPIPにある場合、現在のビデオが終了します。
  • モバイルサポートは限られています。ほとんどのモバイルブラウザは、UIの制約のためにPIPをサポートしていません。
  • すべてのビデオがPIPを入力できるわけではありません:DRM保護されたコンテンツまたはビデオがブロックされる場合があります。
  • スタイリングの制限:PIPウィンドウはOS/ブラウザによって制御されるため、外観をカスタマイズすることはできません。

結論

Picture-in-Picture APIは、ビデオコンテンツでユーザーエクスペリエンスを強化するための強力でシンプルなツールです。ユーザーが閲覧中にビデオを表示するようにすることで、特にチュートリアル、ビデオ、またはライブストリームの便利さを追加します。

思慮深く使用してください:明確なコントロールを提供し、ユーザーの意図を尊重し、常にサポートを確認してください。ブラウザの採用が拡大すると、PIPは最新のWebビデオの標準機能になりつつあります。

基本的に、それは魔法ではありません。マルチタスクをはるかにスムーズにする小さなAPIだけです。

以上がビデオの絵の絵のAPIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTML5でカスタムコントロールを備えたオーディオプレーヤーを作成する方法は? HTML5でカスタムコントロールを備えたオーディオプレーヤーを作成する方法は? Sep 16, 2025 am 04:21 AM

最初に非表示のオーディオ要素を作成し、カスタムコントロールUIを作成し、再生、一時停止、進行状況調整、ボリュームコントロールなどの関数をJavaScriptを介してオーディオAPIに接続して、完全にパーソナライズされたオーディオプレーヤーを実現します。

HTML5でサーバーセントイベント(SSE)を使用する方法は? HTML5でサーバーセントイベント(SSE)を使用する方法は? Sep 21, 2025 am 06:11 AM

sseenablesseal-time、unidirectionalver-to-clientupdatesviahttp; useeventsourceinjavascripttoconnect、handlemessageswithonmessage、setserverresponsetypetotext/event-stream、formatdatawith "data:" and "and"&n "、andotionallalinalincludidsf

HTML5で要素を適切に使用する方法は? HTML5で要素を適切に使用する方法は? Sep 17, 2025 am 06:33 AM

theTimeElementInhtml5representsDatesSandTimesInamachine-ReadableFormat、EnhingAccessibilityandseo; usethedatetimeattribute withiso-formattedvaluestoprovidesemantivine、特に特に人間と対応するために、存在すること、保証されていることを保証します

HTML5のアクセシビリティにARIAの役割を使用する方法は? HTML5のアクセシビリティにARIAの役割を使用する方法は? Sep 21, 2025 am 04:41 AM

ariaenhanceswebaccesibilitybyaddingsmantingtoelementswhentivenationhtmlisufficient.useariaroleslikerole = "button"、aria-expanded、andaria-labelforcustomcomponentsordynamiccontent、butalways-ferementive htmlementionsuchasbuttonav.update

HTML5のアクセシビリティのためにフォーカスを管理する方法は? HTML5のアクセシビリティのためにフォーカスを管理する方法は? Sep 21, 2025 am 05:27 AM

useSemantichtmlelementslikeandfornative focusableandkeyboardsupport.ensurelogicaltaboderandvisiblefocusindicatorsviacss.proglivealmatelymanagefocusindynamiccontentlikemodalselement.focus()、trappingfocusinsideandeandeandeandeturningItafterosurair.Applyar

HTML5の正規表現に対してフォームフィールドを検証する方法は? HTML5の正規表現に対してフォームフィールドを検証する方法は? Sep 22, 2025 am 05:11 AM

usethepatternattributionhtml5inputelementStovalidateagainstaregex、sotsforpasswordsrequiringnumbers、上級、下皮、およびpairwithtitleforuserguidance and redquiredemptyentyencentyenceentyenceentyenceentyentyentyenced。

HTML5ページにPDFドキュメントを埋め込む方法は? HTML5ページにPDFドキュメントを埋め込む方法は? Sep 21, 2025 am 05:08 AM

PDFを使用または埋め込みます。それはシンプルで直接的であり、代替コンテンツをサポートし、適切な互換性を持ち、境界から削除することができ、ニーズに応じて選択できます。

HTML5画像マップを応答する方法 HTML5画像マップを応答する方法 Sep 17, 2025 am 04:34 AM

HTML5イメージマップを応答するようにするには、JavaScriptを介して動的に調整するか、CSSを使用してオーバーレイ要素を絶対に配置できます。最初に、画像自体が応答性があることを確認し、次にページの読み込みとウィンドウ調整のときにJavaScriptを介した元のサイズの比率に従ってエリアエリアの座標を再計算するか、透明なリンクを使用して画像をパーセンテージポジショニングでカバーして、クロスデバイスの適応を実現し、最終的にインタラクティブな領域が画像と正確にスケーリングされるようにします。 2つの方法には、適用可能なシナリオがあります。 JavaScriptソリューションは元の構造と互換性があり、CSSソリューションはより単純で、スクリプトは必要ありません。プロジェクトのニーズに従って選択する必要があり、両方ともマルチスクリーン効果をテストし、タッチエリアが十分に大きいことを確認する必要があります。複雑なマップの簡単なレイアウトにJavaScriptメソッドを使用することをお勧めします。

See all articles