Esta é a primeira vez que adiciono áudio em um jogo Phaser (3.60.0) e, portanto, posso ter cometido um erro óbvio, mas quando pesquisei on-line não consegui encontrar uma resposta que resolvesse meu problema. O erro do console do Firefox é:
Uncaught Error: Audio key "backgroundMusic" missing from cache
e é acionado por esta linha:
//create functuon:
const backgroundMusic = this.sound.add('backgroundMusic');
this.backgroundMusic.loop = true;
this.backgroundMusic.play();
algumas outras informações que podem ser úteis:
//preload function:
this.load.audio('backgroundMusic', '.\music\backgroundMusic.mp4');
//config:
const config = {
type: Phaser.AUTO,
width: 500,
height: 500,
physics: {
default: 'arcade',
arcade: {
debug: false
}
},
scene: {
preload,
create,
update
}
};
O que preciso alterar ou adicionar para que o erro desapareça?
O problema é que você está usando uma extensão de arquivo mp4 , que geralmente é um vídeo. e você deve usar arquivos do tipo / extensões: ogg , mp3 , m4a , ... ( verifique esta lista para ver se está completo ) , e dependendo do suporte do navegador.
Teoricamente, você poderia renomear seu arquivo para
backgroundMusic.mp3
ou algo assim. MAS melhor seria convertê-lo para o tipo/formato de arquivo "correto".( Dica: carregue vários tipos de arquivos para ter a melhor compatibilidade do navegador. assim
this.load.audio('title', [ 'music/Title.ogg', 'music/Title.mp3', 'music/Title.m4a' ]);
, verifique a documentação para obter detalhes )