From d30d107ef3b8d1d1c30f3c9ca11e60240710634d Mon Sep 17 00:00:00 2001 From: Kasper Seweryn Date: Mon, 30 Jan 2023 14:57:46 +0100 Subject: [PATCH] fix: audio playback pause if errored before played Part-of: --- front/src/api/player.ts | 16 ++++++++++++++-- front/src/composables/audio/tracks.ts | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/front/src/api/player.ts b/front/src/api/player.ts index 3145e75ef..bac347f53 100644 --- a/front/src/api/player.ts +++ b/front/src/api/player.ts @@ -78,6 +78,18 @@ export class HTMLSound implements Sound { } }) + useEventListener(this.#audio, 'waiting', () => { + console.log('>> AUDIO WAITING', this.__track?.title) + }) + + useEventListener(this.#audio, 'playing', () => { + console.log('>> AUDIO PLAYING', this.__track?.title) + }) + + useEventListener(this.#audio, 'stalled', () => { + console.log('>> AUDIO STALLED', this.__track?.title) + }) + useEventListener(this.#audio, 'loadeddata', () => { // https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState this.isLoaded.value = this.#audio.readyState >= 2 @@ -90,7 +102,7 @@ export class HTMLSound implements Sound { } preload () { - console.log('CALLING PRELOAD ON', this) + console.log('CALLING PRELOAD ON', this.__track?.title) this.#audio.load() } @@ -119,7 +131,7 @@ export class HTMLSound implements Sound { } get playable () { - return this.#audio.src !== '' + return this.#audio.src !== '' || this.isErrored.value } get duration () { diff --git a/front/src/composables/audio/tracks.ts b/front/src/composables/audio/tracks.ts index 01e1965f3..c3a44749c 100644 --- a/front/src/composables/audio/tracks.ts +++ b/front/src/composables/audio/tracks.ts @@ -147,7 +147,7 @@ export const useTracks = createGlobalState(() => { return } - console.log('CONNECTING NODE') + console.log('CONNECTING NODE', sound) sound.audioNode.disconnect() connectAudioSource(sound.audioNode)