Inhaltsverzeichnis
Was die PIP -API macht
So verwenden Sie die PIP -API
1. Überprüfen Sie die Unterstützung und Verfügbarkeit
2. PIP -Modus anfordern
3. Änderungen des PIP -Zustands bearbeiten
Praktisches Beispiel: Fügen Sie eine PIP -Taste hinzu
Wichtige Anmerkungen und Einschränkungen
Abschluss
Heim Web-Frontend H5-Tutorial Die Bild-in-Bild-API für Video

Die Bild-in-Bild-API für Video

Aug 19, 2025 pm 06:07 PM

PIP-API (BILD-in-Picture) ermöglicht das Video in einem schwimmenden Fenster, während Benutzer anderswo navigieren. 1. Überprüfen Sie die Unterstützung über 'PictureInpictureEnabled' und Video 'DisablePictureInPicture -Attribut von Video; 2.. Trigger Pip mit RequestPictureInPicture () auf Benutzergeste; 3.. Verwandte Zustandsänderungen mit EnterpictureInpicture und LeavePictureInPicture -Ereignissen; Die Funktion erfordert eine Benutzerinteraktion, ermöglicht nur ein PIP -Fenster gleichzeitig, verfügt über eine begrenzte mobile Unterstützung, kann DRM -Inhalte ausschließen und bietet keine Styling -Steuerung, verbessert jedoch Multitasking, wenn sie angemessen mit ordnungsgemäßem UI -Feedback und Support -Checks verwendet werden.

PIP-in-Picture (PIP) ist eine praktische Funktion, mit der Benutzer weiterhin ein Video in einem kleinen, schwimmenden Fenster ansehen können, während sie an anderer Stelle auf ihrem Gerät navigieren-wie das Durchsuchen einer anderen Seite oder die Verwendung einer anderen App. Im Web wird diese Funktionalität durch die Bild-in-Bild-API , eine relativ neue, aber zunehmend unterstützte Web-API, aktiviert, die Entwicklern die Kontrolle über PIP-Verhalten für <video></video> Elemente bietet.

Folgendes müssen Sie wissen, um es effektiv zu verwenden.


Was die PIP -API macht

Mit der Bild-in-Bild-API kann eine Webseite den PIP-Modus für ein Video programmgesteuert eingeben und beenden. Sobald das Video aktiviert ist, steigt das Video aus dem Browser in ein kleines bewegliches Fenster, das auf anderen Apps bleibt und den Benutzern Multitasking ohne Unterbrechung der Wiedergabe zulässt.

Es funktioniert nur mit <video></video> Elementen und erfordert die Interaktion der Benutzer (aus Gründen der Sicherheits- und Benutzererfahrung). Browser wie Chrome, Edge und einige Versionen von Safari unterstützen es, aber Firefox und andere nicht.


So verwenden Sie die PIP -API

Die Verwendung der API ist unkompliziert. Hier sind die wichtigsten Teile:

1. Überprüfen Sie die Unterstützung und Verfügbarkeit

Überprüfen Sie vor dem Versuch, PIP zu verwenden, ob der Browser es unterstützt:

 if (&#39;pictureInpictureEnabled&#39; im Dokument) {
  console.log (&#39;pip wird unterstützt!&#39;);
}

Sie können auch überprüfen, ob ein bestimmtes Video PIP eingeben kann:

 if (! Video.isablePictureInPicture) {
  // Video darf in PIP gehen
}

HINWEIS: Verwenden Sie das Attribut disablePictureInPicture auf dem <video> -Tag, um PIP bei Bedarf zu verhindern.

2. PIP -Modus anfordern

Um PIP einzugeben, call requestPictureInPicture() im Videoelement:

 asynchrische Funktion openPip () {
  versuchen {
    Warten Sie Video.RequestPictureInPicture ();
  } catch (err) {
    console.Error ("PIP nicht eingeben:", ERR);
  }
}

Dies muss von einer Benutzergeste ausgelöst werden (wie ein Klick), oder es schlägt fehl.

3. Änderungen des PIP -Zustands bearbeiten

Sie können sich anhören, wenn PIP beginnt oder endet:

 Video.AdDeVentListener (&#39;EnterpictureInPicture&#39;, Ereignis) => {
  console.log (&#39;eingegebene PIP&#39;);
  // ui, z. B. die Steuerelemente ausblenden
});

Video.AdDeVentListener (&#39;LeavePictureInPicture&#39;, (Ereignis) => {
  console.log (&#39;beendet PIP&#39;);
  // UI wiederherstellen
});

Diese Ereignisse tragen dazu bei, Ihre Benutzeroberfläche synchron zu halten.


Praktisches Beispiel: Fügen Sie eine PIP -Taste hinzu

 <Video id = "myvideo" steuert>
  <Source Src = "Demo.mp4" Typ = "Video/mp4">
</Video>
<button id = "pipbutton"> Umschalten von 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) {
    // Beenden Sie, falls bereits in PIP
    erwarten document.exitpictureInpicture ();
  } anders {
    // Pip eingeben
    Warten Sie Video.RequestPictureInPicture ();
  }
});

// Schaltfläche deaktivieren, wenn PIP nicht verfügbar ist
pipbutton.DISABED =! DOCUMS.PictureInPictureEnabled;

Dadurch wird eine einfache Schaltfläche zum Umschalten erstellt, die den aktuellen PIP -Status respektiert.


Wichtige Anmerkungen und Einschränkungen

  • Erforderliche Benutzergeste : Sie können PIP bei einer Seite nicht automatisch starten.
  • Nur ein PIP -Fenster gleichzeitig : Wenn sich ein anderes Video (oder eine App) in PIP befindet, wird der aktuelle beendet.
  • Der mobile Support ist begrenzt : Die meisten mobilen Browser unterstützen PIP aufgrund von UI -Einschränkungen nicht.
  • Nicht alle Videos können PIP eingeben : DRM-geschützte Inhalte oder Videos mit bestimmten Einschränkungen können blockiert werden.
  • Styling -Einschränkungen : Das PIP -Fenster wird vom Betriebssystem/Browser gesteuert, sodass Sie sein Erscheinungsbild nicht anpassen können.

Abschluss

Die Bild-in-Bild-API ist ein leistungsstarkes, aber einfaches Tool, um die Benutzererfahrung mit Videoinhalten zu verbessern. Indem Benutzer beim Surfen Videos sichtbar halten, fügt dies die Bequemlichkeit hinzu - insbesondere für Tutorials, Videos oder Live -Streams.

Verwenden Sie es nachdenklich: Geben Sie klare Steuerelemente an, respektieren Sie die Benutzerabsicht und überprüfen Sie immer die Unterstützung. Bei der wachsenden Browser -Akzeptanz wird PIP zu einer Standardfunktion für moderne Webvideos.

Grundsätzlich ist es keine Magie - nur eine kleine API, die Multitasking viel glatter macht.

Das obige ist der detaillierte Inhalt vonDie Bild-in-Bild-API für Video. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erstelle ich einen Audio -Player mit benutzerdefinierten Steuerelementen in HTML5? Wie erstelle ich einen Audio -Player mit benutzerdefinierten Steuerelementen in HTML5? Sep 16, 2025 am 04:21 AM

Erstellen Sie zunächst versteckte Audioelemente und erstellen Sie eine benutzerdefinierte Kontroll -Benutzeroberfläche und verbinden Sie dann Funktionen wie Wiedergabe, Pause, Fortschrittsanpassung und Lautstärkeregler über JavaScript mit der Audio -API, um einen vollständig personalisierten Audio -Player zu erreichen.

Wie benutze ich Server-Sent-Ereignisse (SSE) in HTML5? Wie benutze ich Server-Sent-Ereignisse (SSE) in HTML5? Sep 21, 2025 am 06:11 AM

SseenablesReal-Time, unidirektionalerver-zu-ClientUpdatesViahttp; UseEventSourceinjavaScripttoconnect, Handlemessages-withonMessage, setServerresponsetypetotext/Ereignisstream, formatdatawith "data:" \ n \ n \ n "und" und "und" \ n \ n "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und der

Wie benutze ich das Element  in HTML5 richtig? Wie benutze ich das Element in HTML5 richtig? Sep 17, 2025 am 06:33 AM

ThetimeElementInhtml5repräsentationendatesandtimesinamachine-lesbaremFormat, verstärkungsgroße und actoach undseo;

Wie nutze ich ARIA -Rollen für die Zugänglichkeit in HTML5? Wie nutze ich ARIA -Rollen für die Zugänglichkeit in HTML5? Sep 21, 2025 am 04:41 AM

ARIAENHancesWebAccessibilityByAddingemanticmeaningtoelementsWhennativehtmlIsInsfaudien.Useariaroleslikerole = "Button", aria-expanded, andaria-labelforcustomcomponentSuchynamiccontent, Butalways-SpreferativhtmlelementsuchasButtonArnav.Update

Wie kann man den Fokus auf die Zugänglichkeit in HTML5 verwalten? Wie kann man den Fokus auf die Zugänglichkeit in HTML5 verwalten? Sep 21, 2025 am 05:27 AM

UseemantichtmlelementlikeAndfornativeFocusabilityandKeyBoardsupport.EnsurelelogicalTaborderandisibleFocusinndicators.ProgrammaticManageFocuSindynamiccontentLikemodalseusesuSuSelement.focus (), TrappingfocusinsideanDretningIntungIntier -Fafterclosscloscucloscuse

Wie validieren Sie ein Formfeld gegen einen regulären Ausdruck in HTML5? Wie validieren Sie ein Formfeld gegen einen regulären Ausdruck in HTML5? Sep 22, 2025 am 05:11 AM

UsethePattreNATTRIBUTEINHTML5InputElementstovalidateAgainstareGex, Suchasfor WordsRequiringNumbers, Großbuchstaben, Kleinbuchstaben und MinimumLength; PaarWithtitleforuserguidanceAndRequiredFornon-EMPTYE-Forcements.

Wie kann ich ein PDF -Dokument in eine HTML5 -Seite einbetten? Wie kann ich ein PDF -Dokument in eine HTML5 -Seite einbetten? Sep 21, 2025 am 05:08 AM

PDF verwenden oder einbetten; Es ist einfach und direkt, unterstützt alternative Inhalte, hat eine gute Kompatibilität und kann von Grenzen entfernt werden und entsprechend Ihren Anforderungen wählen.

Wie man eine HTML5 -Bildkarte reagiert Wie man eine HTML5 -Bildkarte reagiert Sep 17, 2025 am 04:34 AM

Um HTML5 -Bildkarte ansprechend zu machen, können Sie die Koordinaten über JavaScript dynamisch skalieren oder das Overlay -Element mit CSS absolut positionieren. Stellen Sie zunächst sicher, dass das Bild selbst reagiert, und berechnen Sie dann die Flächenflächenkoordinaten entsprechend dem ursprünglichen und aktuellen Größenverhältnis über JavaScript, wenn die Seitenlade- und Fensteranpassung und eine transparente Verbindung verwendet werden, um das Bild mit prozentualer Positionierung zu decken, um eine Cross-Device-Anpassung zu erreichen, und die Anpassung des interaktiven Bereichs korrekt skaliert ist. Die beiden Methoden haben anwendbare Szenarien. Die JavaScript -Lösung ist mit der ursprünglichen Struktur kompatibel und die CSS -Lösung ist einfacher und erfordert keine Skripte. Es sollte entsprechend den Projektbedürfnissen ausgewählt werden. Beide müssen den Multi-Screen-Effekt testen und sicherstellen, dass der Berührungsbereich groß genug ist. Es wird empfohlen, die JavaScript -Methode für ein einfaches Layout komplexer Karten zu verwenden.

See all articles