From 4463023c843d50843fac37413415abb78cc46f03 Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Thu, 1 Oct 2026 09:27:23 -0400 Subject: [PATCH] fix(twitch): lecture auto des videos Twitch sur /watch - /watch : les embeds Twitch etaient en autoplay=false depuis le 1er commit (clips clips.twitch.tv + channel + VOD player.twitch.tv) alors que tous les autres fournisseurs de la page demarrent automatiquement en muet (YouTube mute=1, Dailymotion mute=1, Odysee muted=1, PeerTube autoplay=1). - Passe a autoplay=true&muted=true : le lecteur demarre tout seul, le son se reactive via les commandes du player (meme convention que /shorts). - /shorts : inchange, l'embed demandait deja autoplay=true&muted=true. --- src/components/watch/watch.component.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/watch/watch.component.ts b/src/components/watch/watch.component.ts index 65093f9..5e6039d 100644 --- a/src/components/watch/watch.component.ts +++ b/src/components/watch/watch.component.ts @@ -429,7 +429,10 @@ export class WatchComponent implements OnDestroy, AfterViewInit { // Clips : player dédié clips.twitch.tv (le player VOD rejette les slugs). const clipId = clip || (/^\d+$/.test(String(id || '')) ? null : ((this.video() as any)?.kind === 'clip' ? id : null)); if (clipId) { - const u = `https://clips.twitch.tv/embed?clip=${encodeURIComponent(clipId)}&${parentParams}&autoplay=false`; + // autoplay+muet, comme les autres fournisseurs de la page (YouTube + // mute=1, Dailymotion mute=1, Odysee muted=1) : le lecteur démarre + // tout seul, le son se réactive via les commandes du player. + const u = `https://clips.twitch.tv/embed?clip=${encodeURIComponent(clipId)}&${parentParams}&autoplay=true&muted=true`; return this.sanitizer.bypassSecurityTrustResourceUrl(u); } const base = 'https://player.twitch.tv/'; @@ -439,8 +442,8 @@ export class WatchComponent implements OnDestroy, AfterViewInit { // Les VOD acceptent time=1h2m3s (seek au chargement, ex. transcript). const timeParam = !chan && start > 0 ? `&time=${encodeURIComponent(this.formatTwitchTime(start))}` : ''; const qs = chan - ? `?channel=${encodeURIComponent(chan)}&${parentParams}&autoplay=false` - : `?video=${encodeURIComponent(id)}&${parentParams}&autoplay=false${timeParam}`; + ? `?channel=${encodeURIComponent(chan)}&${parentParams}&autoplay=true&muted=true` + : `?video=${encodeURIComponent(id)}&${parentParams}&autoplay=true&muted=true${timeParam}`; const u = base + qs; return this.sanitizer.bypassSecurityTrustResourceUrl(u); }