Begrüßung – [00:00:53]
Retro
- Sarah: Berufliche Veränderung – [00:04:37]
- Sarah: Uberspace + Vaultwarden + Bitwarden = ❤ – [00:12:45]
- Uberlab: vaultwarden / syncthing
- Moritz: MacBook pro 16″ vs 14″ – [00:16:06]
- Moritz: Teaser Web Standards Battle Rap – [00:19:36]
- Sarah: Bastelprojekt scan server als hassOS Add-On – [00:22:08]
Property der Woche: Javascript Temporal – [00:40:30]
Tagesthema: <video> und <audio> – [00:46:05]
- <video>
- <audio>
- caniuse autoplay
- Moritz‘ CodePen-Demo
- HTMLMediaElement controlsList explained
- <source>
- Web Audio API
- <track>
- WebVTT API
- WebVTT-Demo
- Accept-Ranges Header (Range Requests)
- How to Style an Audio Element
- Media container formats (file types)
- audio captions
- Ian Devlin: WebVTT and Audio
- Korrekte Aussprache: Synthesizer
GeilTeil: It all means nothing in the end / Amy Hupe / FFConf 2024 – [01:40:18]
Web Standards Battle Rap – [01:43:59]
Das Ende – [01:47:27]
Kommentare
Meise2000kommentierte
am
Weltklasse, der Rap am Ende
Scheppkommentierte
am
Ich bin ja beim Hören nicht der Schnellste, weswegen ich jetzt erst ans Ende gelangt bin. SOOO SOOO COOL!!! Wo sind die Discos und Festivals, die diese Musik spielen? Wann kommt das Album heraus? Ultragut gemacht. Und das mit dem heißen Tailwind ließ mich auch gut schmunzeln… 😀
Moritzkommentierte
am
Fürs Archiv: Den Web Standards Battle Rap (Lil’ Semantix – DOMination) gibt’s hier: https://www.youtube.com/watch?v=z_8B-khbkUw
Danke für das Feedback. Vielleicht gibt’s bald mehr. Falls ihr Text-Themen habt, gerne her damit.
Scheppkommentierte
am
Zu dem Thema „autoplay“ (und auch der
.play()
-Methode) kann ich noch ein paar Nuancen ergänzen, und zwar ist es so, dass autoplay immer unterbunden wird, wenn noch keine User-Interaktion stattgefunden hat, allerdings mit Ausnahme von auf „muted“ gesetzten Videos oder Videos ohne Audio-Track. Stefan, der früher bei einer Agentur gearbeitet hat, die Games für das Web veröffentlicht hat, hat mal erzählt, wie sie das Problem mit dem Audio-Abspielen gelöst haben. Sie haben den Spielen immer einen „Start“-Screen vorgeschaltet, den man klicken musste, nach dem der Browser das Audio-Abspielen erlaubt.Dann gibt es aber andererseits Seiten, die aus irgendwelchen Gründen das eigentlich verbotene Video-Autoplay ohne Interaktion doch hinbekommen, wie zum Beispiel youtube.com. Wenn Ihr als Beispiel den Link zu diesem iPhone Review öffnet, dann läuft das Video sofort mit Ton los, ohne vorherige Interaktion. Das hat zumindest in Chrome mit dem „Media Engagement Index“ zu tun. Bei dem wertet der Browser historisch aus, wie oft man bei dem Besuch (Session) dieser Seite ein Medium abgespielt hat. Liegt man hier über 0.3, also wurde in über 30% der Seitenbesuche ein Abspielvorgang initiiert, kommt die Seite auf die interne Allowlist für Autoplay mit Ton. Und rausfliegen tut sie, sobald sie 0.2 / 20% unterschreitet. Die Seite, über die der Browser Buch führt, findet man unter
chrome://media-engagement/
.Und dann gibt es noch in Browser fest hinterlegte Allowlisten. So wird das obige Youtube-Video auch in einem nie benutzten Safari abgespielt, in welchem man der Seite in den Webseiten-Einstellungen bislang keine Erlaubnis gegeben hat.
In der Folge der Einführung dieser Verhaltensänderungen der Browser ab 2011 herum ergab sich aber ein Problem, nämlich, dass die Entwickelnden den Aufruf des
.play()
-Befehls fürderhin in einentry/catch
-Block packen mussten, wenn sie einen Abspiel-Error durch Verweigerung abfangen wollten. Darum wurde die HTML-Spec nachträglich dahingehend geändert, dassplay()
eine Promise zurückgibt, die entweder resolved oder rejected. Die Browser haben das mittlerweile auch alle implementiert. Die Promise ist darüberhinaus auch hilfreich dabei, wenn man kurz nach demplay()
-Command einpause()
ausführen möchte. Manchmal reicht die Zeit (oder die Bandbreite) nicht, dass der Browser tatsächlich ans Abspielen kommt, woraufhinpause()
einen Error erzeugt (und Euren JavaScript-Executionstack in den Orkus schickt). Dank der Promise kann manpause()
daran koppeln, dass sie resolved ist.Moritzkommentierte
am
Danke für die Infos. Das ist mal echt abgefahren!