From 0e4942d2f702b06c5a2182ef54d8563cf4eb519e Mon Sep 17 00:00:00 2001 From: Yuzu Date: Sun, 16 Jun 2024 01:06:43 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20Broken=20Spotify=20player?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/providers/DiscordMusicPlayerTempFix.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/providers/DiscordMusicPlayerTempFix.ts b/src/providers/DiscordMusicPlayerTempFix.ts index 471ea34..c4fb752 100644 --- a/src/providers/DiscordMusicPlayerTempFix.ts +++ b/src/providers/DiscordMusicPlayerTempFix.ts @@ -231,7 +231,7 @@ export class DiscordMusicPlayerInstance { if (previousTrack) this.previousTrack = previousTrack; if (this.queue.track.length > 0) { - this.playTrack(this.queue.track[0]); + await this.playTrack(this.queue.track[0]); } } } @@ -375,13 +375,23 @@ export class DiscordMusicPlayerInstance { ); resource = createAudioResource(stream.stream, { - inputType: stream.type + //inputType: stream.type }); this.actualPlaybackURL = search.url; } this.player.play(resource); this.voiceConnection.subscribe(this.player); + + let timeout = 0; + while (!resource.started && timeout < 10000) { + console.log('Waiting for resource to start'); + await new Promise((resolve) => setTimeout(resolve, 100)); + timeout += 100; + + if (timeout >= 10000) + this.events.emit('error', new PlayerErrorEvent(this, new Error('Resource took too long to start'))); + } } catch (error: any) { this.events.emit('error', new PlayerErrorEvent(this, error)); this.skipTrack();