Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problemas al poner música ambiente general #11

Open
paravaariar opened this issue May 5, 2023 · 2 comments
Open

Problemas al poner música ambiente general #11

paravaariar opened this issue May 5, 2023 · 2 comments

Comments

@paravaariar
Copy link
Collaborator

Me gustaría una música ambiente en bucle durante todo el juego. Mirando la wiki debería de ser algo así:

let snd = {
	"src": "res/music.mp3",
	"volume": 1.0,
	"loop": true
};
ctrl.audio.setInfo( snd );
ctrl.audio.play();

Por un lado, si lo pongo en game.js o en el ctrl.ini() parece que el navegador me lo bloquea por la nueva política contra el autoplay de los navegadores que exige que tengas que interactuar primero con la página. Podría preguntar si se quiere música o no...

Sin embargo, si lo pongo en un preExamine de la primera localidad por ejemplo, me da un error más raro...
GET file:///C:/code/[object%20Object] net::ERR_FILE_NOT_FOUND como si el path al src no se haya capturado bien...

Creo que la Wiki tendría que tener un apartado solo para el Audio, ahora está un poco disperso en Loc y en Miscelánea. Así una persona que solo se encarga de la música en un juego puede verlo ahí directamente. También lo que permite el motor podría estar más claro, si he entendido bien no se puede tener por el momento una música ambiente global y fxs o sonidos rápidos en sucesos que no la paren, no?

@paravaariar
Copy link
Collaborator Author

Mi workaround ha sido usando javascript puro sin usar el motor...
En fi.js he añadido esto en la función boot() para que empiece la música ambiental en bucle cuando le dan al botón de empezar el juego

		const musicaAmbiental = new Audio('res/music.mp3');
		// apparently not all browsers supports looping so this is a workaround to loop
		musicaAmbiental.addEventListener('ended', function() {
			this.currentTime = 0;
			this.play();
		}, false);
		musicaAmbiental.play();

y luego, para los sonidos de sucesos ya los hago en game.js por ejemplo así y se reproducen una vez por encima de la música ambiental

miPuerta.preOpen = function() {
        ....
	new Audio('res/fx1.wav').play();
        ....
};

@Baltasarq
Copy link
Owner

Lo de la música siempre acaba siendo un problema. Como dices, interviene el tema de los permisos, etc. Por lo menos ahora todos los navegadores garantizan el soporte de mp3. Tengo que mirarlo con calma.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants