aboutsummaryrefslogtreecommitdiff
path: root/src/musichub
diff options
context:
space:
mode:
authorsaid belhadj <saidbelhadj0312@gmail.com>2021-06-26 12:01:49 +0200
committersaid belhadj <saidbelhadj0312@gmail.com>2021-06-26 12:01:49 +0200
commit05b5bb7d2407006e08f46f66893a972a9f091952 (patch)
tree5f9756148699ac753de4834068faa4d333c36f98 /src/musichub
parente58b48a3162539cb79ff495d6040ca6f53f069d6 (diff)
Add reset, pause, quit functionality
Diffstat (limited to 'src/musichub')
-rw-r--r--src/musichub/business/AudioElement.java32
-rw-r--r--src/musichub/business/MusicHub.java8
-rw-r--r--src/musichub/business/Song.java9
-rw-r--r--src/musichub/main/Main.java6
4 files changed, 37 insertions, 18 deletions
diff --git a/src/musichub/business/AudioElement.java b/src/musichub/business/AudioElement.java
index 9294b49..0c1e9e4 100644
--- a/src/musichub/business/AudioElement.java
+++ b/src/musichub/business/AudioElement.java
@@ -5,6 +5,7 @@ import org.w3c.dom.Element;
import java.io.File;
import java.io.IOException;
+import java.util.Scanner;
import java.util.UUID;
import javax.sound.sampled.AudioInputStream;
@@ -93,12 +94,39 @@ public abstract class AudioElement {
}
- public void playSong() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
+ public void manageAudioElement() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
+
+ Scanner scanner = new Scanner(System.in);
+
File file = new File(this.content);
AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audioStream);
- clip.start();
+
+ 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");
+ }
+
+ clip.close();
+
}
} \ No newline at end of file
diff --git a/src/musichub/business/MusicHub.java b/src/musichub/business/MusicHub.java
index e138d84..f7cf137 100644
--- a/src/musichub/business/MusicHub.java
+++ b/src/musichub/business/MusicHub.java
@@ -331,10 +331,10 @@ public class MusicHub {
xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH);
}
- public void getSong(List<AudioElement> Songs, String songTitle) throws NoAlbumFoundException, UnsupportedAudioFileException, IOException, LineUnavailableException {
- for (AudioElement s : Songs) {
- if (s.getTitle().equalsIgnoreCase(songTitle)) {
- s.playSong();
+ public void getAudioElement(List<AudioElement> audios, String elementTitle) throws NoAlbumFoundException, UnsupportedAudioFileException, IOException, LineUnavailableException {
+ for (AudioElement el : audios) {
+ if (el.getTitle().equalsIgnoreCase(elementTitle)) {
+ el.manageAudioElement();
}
}
diff --git a/src/musichub/business/Song.java b/src/musichub/business/Song.java
index 7b90156..564b7c5 100644
--- a/src/musichub/business/Song.java
+++ b/src/musichub/business/Song.java
@@ -1,14 +1,5 @@
package musichub.business;
-import java.io.File;
-import java.io.IOException;
-
-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;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
diff --git a/src/musichub/main/Main.java b/src/musichub/main/Main.java
index 58080bd..2876734 100644
--- a/src/musichub/main/Main.java
+++ b/src/musichub/main/Main.java
@@ -3,7 +3,6 @@ package musichub.main;
import musichub.business.*;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
@@ -47,7 +46,8 @@ public class Main {
albumTitle = scan.nextLine();
try {
- System.out.println(theHub.getAlbumSongsSortedByGenre(albumTitle));
+ List<Song> songs = theHub.getAlbumSongsSortedByGenre(albumTitle);
+ System.out.println(songs);;
} catch (NoAlbumFoundException ex) {
System.out.println("No album found with the requested title " + ex.getMessage());
}
@@ -64,7 +64,7 @@ public class Main {
List<AudioElement> songs = theHub.getAlbumSongs(albumTitle);
System.out.println(theHub.getAlbumSongs(albumTitle));
String song = scan.nextLine();
- theHub.getSong(songs, song);
+ theHub.getAudioElement(songs, song);
} catch (NoAlbumFoundException ex) {
System.out.println("No album found with the requested title " + ex.getMessage());
}