diff --git a/packages/fireworks-js/src/fireworks.ts b/packages/fireworks-js/src/fireworks.ts index 7f52014..8f67815 100644 --- a/packages/fireworks-js/src/fireworks.ts +++ b/packages/fireworks-js/src/fireworks.ts @@ -226,6 +226,7 @@ export class Fireworks { } private initTrace(): void { + this.sound.init(); if (this.waitStopRaf) return const { delay, mouse } = this.opts diff --git a/packages/fireworks-js/src/sound.ts b/packages/fireworks-js/src/sound.ts index d0bbf61..c48d935 100644 --- a/packages/fireworks-js/src/sound.ts +++ b/packages/fireworks-js/src/sound.ts @@ -13,7 +13,6 @@ export class Sound { private onInit = false constructor(private readonly options: Options) { - this.init() } private get isEnabled() { @@ -49,6 +48,7 @@ export class Sound { } play(): void { + this.init() if (this.isEnabled && this.buffers.length) { const bufferSource = this.audioContext.createBufferSource() const soundBuffer = this.buffers[randomInt(0, this.buffers.length - 1)]! @@ -62,8 +62,6 @@ export class Sound { volume.connect(this.audioContext.destination) bufferSource.connect(volume) bufferSource.start(0) - } else { - this.init() } } }