Table des matières
Ce que fait l'API PIP
Comment utiliser l'API PIP
1. Vérifiez le support et la disponibilité
2. Demande le mode PIP
3. Gérer les modifications de l'état PIP
Exemple pratique: ajoutez un bouton PIP
Notes et limitations importantes
Conclusion
Maison interface Web Tutoriel H5 L'API Image-in-Ipture pour la vidéo

L'API Image-in-Ipture pour la vidéo

Aug 19, 2025 pm 06:07 PM

L'API Image-in-Ianting (PIP) permet à la vidéo de jouer dans une fenêtre flottante pendant que les utilisateurs naviguent ailleurs; 1. Vérifiez la prise en charge via «PictureInpictureEenabled» et l'attribut DisablePictureInpicture de Video; 2. Déclenchez PIP avec DequestPictureInpiCture () sur le geste de l'utilisateur; 3. Gérer les modifications de l'État avec les événements d'entreprise et les événements de la prise en charge de la réduction; La fonctionnalité nécessite une interaction utilisateur, ne permet qu'une seule fenêtre PIP à la fois, a une prise en charge mobile limitée, peut exclure le contenu DRM et n'offre aucun contrôle de style, mais améliore le multitâche lorsqu'il est utilisé de manière appropriée avec des vérifications de rétroaction et d'assistance appropriées.

Image-in-Insacture (PIP) est une fonctionnalité pratique qui permet aux utilisateurs de continuer à regarder une vidéo dans une petite fenêtre flottante pendant qu'ils naviguent ailleurs sur leur appareil, comme naviguer dans une autre page ou utiliser une autre application. Sur le Web, cette fonctionnalité est activée via l' API d'image dans la situation , une API Web relativement nouvelle mais de plus en plus prise en charge qui donne aux développeurs le contrôle du comportement PIP pour les éléments <video></video> .

Voici ce que vous devez savoir pour l'utiliser efficacement.


Ce que fait l'API PIP

L'API Image-in-Impicture permet à une page Web de saisir et de quitter le mode PIP par programmation pour une vidéo. Une fois activée, la vidéo sort du navigateur dans une petite fenêtre mobile qui reste au-dessus des autres applications, permettant aux utilisateurs de transformer les utilisateurs sans interrompre la lecture.

Il ne fonctionne qu'avec <video></video> des éléments et nécessite l'interaction utilisateur pour initier (pour des raisons de sécurité et d'expérience utilisateur). Des navigateurs comme Chrome, Edge et certaines versions de Safari le soutiennent, mais Firefox et d'autres ne le font pas encore.


Comment utiliser l'API PIP

L'utilisation de l'API est simple. Voici les parties clés:

1. Vérifiez le support et la disponibilité

Avant d'essayer d'utiliser PIP, vérifiez si le navigateur le prend en charge:

 if (&#39;pictureInpictureNabled&#39; dans le document) {
  Console.log («PIP est pris en charge!»);
}

Vous pouvez également vérifier si une vidéo spécifique peut entrer dans PIP:

 if (! video.disablePictureInpicture) {
  // La vidéo est autorisée à entrer dans PIP
}

Remarque: Utilisez l'attribut disablePictureInPicture sur la balise <video> pour empêcher PIP si nécessaire.

2. Demande le mode PIP

Pour entrer PIP, appelez requestPictureInPicture() sur l'élément vidéo:

 fonction asynchrone openpip () {
  essayer {
    attendre la vidéo.requestPictureInpiCture ();
  } catch (err) {
    Console.Error ("Échec de la saisie de PIP:", ERR);
  }
}

Cela doit être déclenché par un geste de l'utilisateur (comme un clic), ou il échouera.

3. Gérer les modifications de l'état PIP

Vous pouvez écouter lorsque Pip commence ou se termine:

 video.AddeventListener (&#39;EnterPictureInpiCture&#39;, (événement) => {
  Console.log (&#39;Entré Pip&#39;);
  // ajuster l&#39;interface utilisateur, par exemple, les commandes de masque
});

video.AddeventListener (&#39;waitspictureInpicture&#39;, (événement) => {
  Console.log («Overy Pip»);
  // restaurer l&#39;interface utilisateur
});

Ces événements aident à maintenir votre interface en synchronisation.


Exemple pratique: ajoutez un bouton PIP

 <Video ID = "MyVideo" Contrôles>
  <source src = "Demo.mp4" type = "vidéo / mp4">
</ vidéo>
<Button id = "Pipbutton"> Togle Pip </futton>
 const video = document.getElementById (&#39;myVideo&#39;);
const pipbutton = document.getElementById (&#39;pipbutton&#39;);

pipbutton.addeventListener (&#39;click&#39;, async () => {
  if (document.pictureInpiCtureElement) {
    // sortir si déjà dans PIP
    attendre document.exitPictureInpiCture ();
  } autre {
    // Entrez PIP
    attendre la vidéo.requestPictureInpiCture ();
  }
});

// bouton désactiver lorsque PIP n&#39;est pas disponible
pipbutton.disabled =! Document.PictureInpiCtureAnabled;

Cela crée un bouton de bascule simple qui respecte l'état PIP actuel.


Notes et limitations importantes

  • Geste de l'utilisateur requis : vous ne pouvez pas démarrer automatiquement PIP lorsqu'une page se charge.
  • Une seule fenêtre PIP à la fois : si une autre vidéo (ou application) est dans PIP, celle actuelle quittera.
  • La prise en charge mobile est limitée : la plupart des navigateurs mobiles ne prennent pas en charge PIP en raison des contraintes d'interface utilisateur.
  • Toutes les vidéos ne peuvent pas entrer dans PIP : le contenu ou les vidéos protégé par DRM avec certaines restrictions peuvent être bloqués.
  • Limites de style : la fenêtre PIP est contrôlée par le navigateur OS /, vous ne pouvez donc pas personnaliser son apparence.

Conclusion

L'API Image-in-Ipture est un outil puissant mais simple pour améliorer l'expérience utilisateur avec le contenu vidéo. En permettant aux utilisateurs de garder les vidéos visibles lors de la navigation, cela ajoute la commodité, en particulier pour les tutoriels, les vidéos ou les flux en direct.

Utilisez-le réfléchi: fournissez des contrôles clairs, respectez l'intention de l'utilisateur et vérifiez toujours la prise en charge. Avec l'adoption croissante du navigateur, PIP devient une fonctionnalité standard pour la vidéo Web moderne.

Fondamentalement, ce n'est pas magique - juste une petite API qui rend le multitâche beaucoup plus fluide.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment faire un lecteur audio avec des contrôles personnalisés dans HTML5? Comment faire un lecteur audio avec des contrôles personnalisés dans HTML5? Sep 16, 2025 am 04:21 AM

Créez d'abord des éléments audio cachés et créez une interface utilisateur de contrôle personnalisée, puis connectez des fonctions telles que la lecture, la pause, le réglage de la progression et le contrôle du volume à l'API audio via JavaScript pour obtenir un lecteur audio entièrement personnalisé.

Comment utiliser des événements de serveur (SSE) dans HTML5? Comment utiliser des événements de serveur (SSE) dans HTML5? Sep 21, 2025 am 06:11 AM

SseenablesReal-Time, UnidirectionalServer-to-ClientupdatesViaHttp; useEventsourceInjavascriptToconnect, HandleMesages withonMessage, setServerResponSetyTotext / Event-Stream, FormatDatawith "Data:" et "\ n \ n", et optionally includeventidSff

Comment gérer la concentration pour l'accessibilité dans HTML5? Comment gérer la concentration pour l'accessibilité dans HTML5? Sep 21, 2025 am 05:27 AM

UseMantichTmlelementsLikEnd andNorativefocation etKeyBoardboardUpport.enSureLogicalTabOrderAndvisibleFocusIndicatorsViacss.programmatematesthanagefocusindYnYCContentlikeModalSusingElement.focus (), trappingfocusinsidereturningItClosElement.APPLYAR ()

Comment utiliser les rôles ARIA pour l'accessibilité dans HTML5? Comment utiliser les rôles ARIA pour l'accessibilité dans HTML5? Sep 21, 2025 am 04:41 AM

AriaenhanceswebaccessibilityByAddingSémanticMeaningToElementsWHenativehtmlisInsufficient.UseAriaroleLikerole = "Button", Aria-Expanded, Andaria-LabelforCustomComponentsordamicContent, Butalwaysprefernativehtmlelementsuchasbuttonornav.update.

Comment utiliser correctement l'élément  dans HTML5? Comment utiliser correctement l'élément dans HTML5? Sep 17, 2025 am 06:33 AM

TheTetimeElementInhtml5RepresentsDates andtimeTimesInamachine-ReadableFormat, EnhancingAccessibility and

Comment valider un champ de formulaire contre une expression régulière dans HTML5? Comment valider un champ de formulaire contre une expression régulière dans HTML5? Sep 22, 2025 am 05:11 AM

UshepatterNattributeInhtml5InputellementStovalIdateAgainStaregex, telsforpasswordSrequiringNumbers, en majuscules, en minuscules, et la longueur de la mine; pairewithtitleForUserguidanceAnDrederedfornon-EmptyenForcement.

Comment rendre une carte d'image HTML5 réactive Comment rendre une carte d'image HTML5 réactive Sep 17, 2025 am 04:34 AM

Pour rendre la carte d'image HTML5 réactive, vous pouvez mettre dynamiquement à l'échelle des coordonnées via JavaScript ou positionner absolument l'élément de superposition à l'aide de CSS; Assurez-vous d'abord que l'image elle-même est réactive, puis recalculez les coordonnées de la zone de zone en fonction du rapport de taille d'origine et actuel via JavaScript lors du chargement de la page et du réglage des fenêtres, ou utilisez un lien transparent pour couvrir l'image avec un pourcentage de positionnement pour atteindre l'adaptation croisée. Les deux méthodes ont des scénarios applicables. La solution JavaScript est compatible avec la structure d'origine, et la solution CSS est plus simple et ne nécessite aucun script. Il doit être sélectionné en fonction des besoins du projet, et les deux doivent tester l'effet multi-écran et s'assurer que la zone tactile est suffisamment grande. Il est recommandé d'utiliser la méthode JavaScript pour une disposition simple de cartes complexes.

Comment intégrer un document PDF dans une page HTML5? Comment intégrer un document PDF dans une page HTML5? Sep 21, 2025 am 05:08 AM

Utiliser ou intégrer PDF; Il est simple et direct, prend en charge un contenu alternatif, a une bonne compatibilité et peut être supprimé des frontières et choisir en fonction de vos besoins.

See all articles