Me las arreglé para hacer que el bucle de sonido comenzara cuando el cuadro se carga usando este código:
createjs.Sound.on("fileload", handleLoad); createjs.Sound.alternateExtensions = ["m4a"]; createjs.Sound.registerSound({ id: "audioLoop", src: "sounds/myAudioLoop.ogg" }); function handleLoad(event) { var audioLoopInstance = createjs.Sound.play("audioLoop", { interrupt: createjs.Sound.INTERRUPT_ANY, loop: -1 }); };Cuando intento audioLoopInstance.stop(); o audioLoopInstance.play(); aunque, nada parece suceder.
El detener todos los sonidos parece funcionar, aunque no sé cómo volver a reproducirlo después de eso:
stopEverySounds = function () { return createjs.Sound.stop(); } stopEverySounds();Estoy tratando de aprender a usar la instancia de sonido. ¿Cómo hago que audioLoopInstance vuelva a iniciar el sonido?
Actualización: parece que tengo que definir la var en mi código original de esta manera:
var _this = this; function handleLoad(event) { _this.audioLoopInstance = createjs.Sound.play("audioLoop", { interrupt: createjs.Sound.INTERRUPT_ANY, loop: -1 }); };Y luego podré usar esa instancia de sonido.
Si el código de parada/reproducción está en el mismo marco:
_this.audioLoopInstance.stop();Si el código de parada/reproducción está en un cuadro diferente en la misma línea de tiempo:
this.audioLoopInstance.play();