Die Bild-in-Bild-API für Video
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 ('pictureInpictureEnabled' im Dokument) { console.log ('pip wird unterstützt!'); }
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 ('EnterpictureInPicture', Ereignis) => { console.log ('eingegebene PIP'); // ui, z. B. die Steuerelemente ausblenden }); Video.AdDeVentListener ('LeavePictureInPicture', (Ereignis) => { console.log ('beendet PIP'); // 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 ('myvideo'); const pipbutton = document.getElementById ('pipbutton'); pipbutton.addeventListener ('click', 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!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

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.

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

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

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

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

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

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.

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.
