Según el REGISTRO DE CAMBIOS, desde la versión 3.53.0 - Anastasia - 8 de marzo de 2021
SceneManager.loadCompleteya no intentará desbloquear el Administrador de sonido,AudioContext was not allowed to startadvertencias en la consola después de que termine de cargarse cada escena.
Sin embargo, cada vez que ejecuto una aplicación Phaser3 en Chrome 96.0.4664.110 (compilación oficial) (x86_64)
var game = new Phaser.Game(); <script src="https://cdn.jsdelivr.net/npm/phaser@3.55.2/dist/phaser.js"></script>Todavía recibo esa molesta advertencia.
¿Me estoy perdiendo de algo?
El problema es que se trata de un "problema" del navegador (consulte este enlace para ver un ejemplo de cromo:https://bugs.chromium.org/p/chromium/issues/detail?id=943258#c6 )
el navegador, muestra esta advertencia, si crea un AudioContext sin la interacción del usuario. Phaser crea un AudioContext al crear un objeto de juego de Phaser new Phaser.Game(...); .
Si desea deshacerse del mensaje de Advertencia, tengo dos ideas diferentes, cómo podría hacer esto:
Opción 1:
Cree una página html simple con un botón de inicio/imagen/... y solo cree el objeto Phaser.Game después de una iteración del usuario, luego no habrá Advertencia. (esto es "más limpio", un poco de sobrecarga)
let button = document.querySelector('#btnStart'); button.addEventListener('click', () => { var game = new Phaser.Game(); }); <script src="https://cdn.jsdelivr.net/npm/phaser@3.55.2/dist/phaser.js"></script> <button id="btnStart"> Start </button> Opcion 2:
O podría borrar la consola, con console.clear(); después de crear el objeto. (solución rápida fácil)
var game = new Phaser.Game(); console.clear(); <script src="https://cdn.jsdelivr.net/npm/phaser@3.55.2/dist/phaser.js"></script>Solo para que sepa que la Advertencia no tiene efecto, se puede ignorar.