diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/musichub/business/AudioElement.java | 38 | ||||
-rw-r--r-- | src/main/java/musichub/main/Main.java | 23 |
2 files changed, 32 insertions, 29 deletions
diff --git a/src/main/java/musichub/business/AudioElement.java b/src/main/java/musichub/business/AudioElement.java index 0c1e9e4..fa410d8 100644 --- a/src/main/java/musichub/business/AudioElement.java +++ b/src/main/java/musichub/business/AudioElement.java @@ -3,17 +3,12 @@ package musichub.business; import org.w3c.dom.Document; import org.w3c.dom.Element; +import javax.sound.sampled.*; import java.io.File; import java.io.IOException; import java.util.Scanner; import java.util.UUID; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.Clip; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.UnsupportedAudioFileException; - public abstract class AudioElement { protected String title; protected String artist; @@ -106,24 +101,19 @@ public abstract class AudioElement { String action = ""; while(!action.equals("Q")) { - System.out.println("P = Play \b S = Stop \b R = Reset \b Q = Quit"); - System.out.println("Enter your choice"); - action = scanner.next(); - action = action.toUpperCase(); - - switch(action) { - case "S" : clip.stop(); - break; - case "P" : clip.start(); - break; - case "R" : clip.setMicrosecondPosition(0); - break; - case "Q" : clip.stop(); - break; - default : System.out.println("try again"); - } - System.out.println("You stoped the Audio element"); - } + System.out.println("P = Play \b S = Stop \b R = Reset \b Q = Quit"); + System.out.println("Enter your choice"); + action = scanner.next(); + action = action.toUpperCase(); + + switch (action) { + case "S", "Q" -> clip.stop(); + case "P" -> clip.start(); + case "R" -> clip.setMicrosecondPosition(0); + default -> System.out.println("try again"); + } + System.out.println("You stoped the Audio element"); + } clip.close(); diff --git a/src/main/java/musichub/main/Main.java b/src/main/java/musichub/main/Main.java index 2394ce6..4ac7052 100644 --- a/src/main/java/musichub/main/Main.java +++ b/src/main/java/musichub/main/Main.java @@ -91,15 +91,27 @@ public class Main { String genre = scan.nextLine(); System.out.println("Song artist: "); String artist = scan.nextLine(); - System.out.println("Song length in seconds: "); - int length = Integer.parseInt(scan.nextLine()); + + int length; + try { + System.out.println("Song length in seconds: "); + length = Integer.parseInt(scan.nextLine()); + } catch (NumberFormatException ex) { + String logMsg = "You've not provided a number for the length."; + LogHandler.write(logMsg, "ERROR"); //write a line in the log file + System.err.println(logMsg); + System.out.println("Type h for available commands"); + choice = scan.nextLine(); + break; + } System.out.println("Song content: "); String content = scan.nextLine(); if (!isPathValid(content)) { - String logMsg = "The music file was not found with the path you've provided or the extension is not .wav"; - LogHandler.write(logMsg, "WARNING"); //write a line in the log file - System.out.println(logMsg + "\nType h for available commands"); + String logMsg = "The music file cannot be found with the path you've provided or the extension is not .wav"; + LogHandler.write(logMsg, "ERROR"); //write a line in the log file + System.err.println(logMsg); + System.out.println("Type h for available commands"); choice = scan.nextLine(); break; } @@ -258,6 +270,7 @@ public class Main { System.err.println(e.getMessage()+" Please create a file with the extension .wav inside the song folder at root of the app"); } printAvailableCommands(); + break; case 'o': //consult the app logs LogHandler.read(); |