Riproduzione video programmabile con audio su Safari e Mobile Chrome

Con il rilascio di OSX High-Sierra *, una delle nuove funzionalità di Safari è che i video sui siti Web non verranno riprodotti automaticamente e gli script non potranno avviarli, proprio come su iOS. Come utente, mi piace la funzione, ma come sviluppatore pone un problema prima di me: ho un gioco HTML5 all’interno del browser che contiene video. I video non vengono più riprodotti automaticamente a meno che l’utente non modifichi le proprie impostazioni. Questo incasina il stream del gioco.

La mia domanda è, posso in qualche modo utilizzare l’interazione dei giocatori con il gioco come innesco per il video per iniziare a giocare automaticamente, anche se detta attività non è direttamente collegata all’elemento video?

Non posso usare jQuery o altri framework, a causa di un freno che il mio datore di lavoro ha messo sul nostro sviluppo. L’unica eccezione è pixi.js che – tra tutte le altre animazioni – ci sta anche utilizzando per riprodurre i nostri video all’interno di un contenitore pixi.

* La stessa restrizione si applica anche su Chrome Mobile.

Sì, puoi associare eventi che non sono direttamente triggersti ​​sull’elemento video:

btn.onclick = e => vid.play();