ビデオの絵の絵のAPI
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( 'pictureinpictureEnabled' in document){ console.log( 'pipがサポートされています!'); }
特定のビデオが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( 'enterpictureinpicture'、(event)=> { console.log( '入力PIP'); // UIを調整します。たとえば、コントロールを非表示にします }); video.addeventlistener( 'reavepictureinpicture'、(event)=> { console.log( 'exited pip'); // uiを復元します });
これらのイベントは、インターフェイスを同期させるのに役立ちます。
実用的な例:ピップボタンを追加します
<ビデオID = "myVideo" Controls> <source src = "demo.mp4" type = "video/mp4"> </video> <ボタンID = "pipbutton">トグルpip </button>
const video = document.getElementById( 'myVideo'); const pipbutton = document.getElementById( 'pipbutton'); pipbutton.addeventlistener( 'click'、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 サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

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

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

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

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

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

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

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

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