From fbd8962b14b0a9b62c664710c826455c0fef79bc Mon Sep 17 00:00:00 2001 From: Matt Kohls Date: Sun, 22 Dec 2019 01:41:48 -0500 Subject: Sound plays again and preemptive user sound dir fix I was being too proactive about checking for a null condition, so the AudioPlayerSendHandler wasn't able to grab the data correctly. Also now check for the directory the user supplies for usersound existing and that it is a directory before populating files from it. --- src/main/java/soundchan/AudioPlayerSendHandler.java | 9 +-------- src/main/java/soundchan/LocalAudioManager.java | 13 +++++++------ 2 files changed, 8 insertions(+), 14 deletions(-) (limited to 'src/main') diff --git a/src/main/java/soundchan/AudioPlayerSendHandler.java b/src/main/java/soundchan/AudioPlayerSendHandler.java index fdd9774..43b1c75 100644 --- a/src/main/java/soundchan/AudioPlayerSendHandler.java +++ b/src/main/java/soundchan/AudioPlayerSendHandler.java @@ -24,19 +24,12 @@ public class AudioPlayerSendHandler implements AudioSendHandler { @Override public boolean canProvide() { - if (lastFrame == null) { - lastFrame = audioPlayer.provide(); - } - + lastFrame = audioPlayer.provide(); return lastFrame != null; } @Override public ByteBuffer provide20MsAudio() { - if (lastFrame == null) { - lastFrame = audioPlayer.provide(); - } - return ByteBuffer.wrap(lastFrame.getData()); } diff --git a/src/main/java/soundchan/LocalAudioManager.java b/src/main/java/soundchan/LocalAudioManager.java index 4db7010..b34c8f4 100644 --- a/src/main/java/soundchan/LocalAudioManager.java +++ b/src/main/java/soundchan/LocalAudioManager.java @@ -112,14 +112,15 @@ public class LocalAudioManager { */ private Map PopulateFiles(){ File folder = new File(filepath); - File[] listOfFiles = folder.listFiles(); - Map fileDict = new HashMap<>(); + if(folder.exists() && folder.isDirectory()) { + File[] listOfFiles = folder.listFiles(); - for (File file : listOfFiles) { - if (file.isFile()) { - String filename = file.getName(); - fileDict.put(filename.substring(0, filename.indexOf('.')), filename); + for (File file : listOfFiles) { + if (file.isFile()) { + String filename = file.getName(); + fileDict.put(filename.substring(0, filename.indexOf('.')), filename); + } } } return fileDict; -- cgit v1.2.3