Skip to content

Commit 528d970

Browse files
committed
Fixing some error handling
1 parent 6b77041 commit 528d970

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ tasks.named("bootJar") {
6161
dependencies {
6262
implementation 'net.dv8tion:JDA:6.3.0'
6363
// Using Lavalink's actively maintained lavaplayer fork for JDK 25 compatibility
64-
implementation 'dev.arbjerg:lavaplayer:2.2.3'
64+
implementation 'dev.arbjerg:lavaplayer:2.2.6'
6565
implementation 'pw.chew:jda-chewtils:1.24.1'
6666

6767
// JDAVE for Discord Audio Video Encryption (DAVE) protocol - required for JDA 6.3.0+

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
projectVersion=4.1.44
1+
projectVersion=4.1.45
22
org.gradle.configuration-cache=false

src/main/java/net/dirtydeeds/discordsoundboard/handlers/AudioHandler.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter;
55
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
66
import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason;
7+
import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
8+
import org.slf4j.Logger;
9+
import org.slf4j.LoggerFactory;
710
import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame;
811
import lombok.Setter;
912
import net.dirtydeeds.discordsoundboard.service.PlaybackService;
@@ -18,6 +21,8 @@
1821
@SuppressWarnings("unused")
1922
public class AudioHandler extends AudioEventAdapter implements AudioSendHandler {
2023

24+
private static final Logger LOG = LoggerFactory.getLogger(AudioHandler.class);
25+
2126
private final PlayerManager manager;
2227
private final AudioPlayer audioPlayer;
2328
private final String guildId;
@@ -64,6 +69,19 @@ public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason
6469
playbackService.sendTrackEnd(file.getName().substring(0, file.getName().lastIndexOf('.')), guildId);
6570
}
6671

72+
@Override
73+
public void onTrackException(AudioPlayer player, AudioTrack track, FriendlyException exception) {
74+
File file = new File(track.getIdentifier());
75+
String trackName = file.getName();
76+
if (trackName.contains(".")) {
77+
trackName = trackName.substring(0, trackName.lastIndexOf('.'));
78+
}
79+
LOG.warn("Track exception for {}: {}", trackName, exception.getMessage());
80+
// Send track end event so UI updates properly
81+
playbackService.sendTrackEnd(trackName, guildId);
82+
audioPlayer.setVolume(getGlobalVolume());
83+
}
84+
6785
@Override
6886
public boolean canProvide() {
6987
lastFrame = audioPlayer.provide();

0 commit comments

Comments
 (0)