diff options
author | said belhadj <saidbelhadj0312@gmail.com> | 2021-06-26 12:01:49 +0200 |
---|---|---|
committer | said belhadj <saidbelhadj0312@gmail.com> | 2021-06-26 12:01:49 +0200 |
commit | 05b5bb7d2407006e08f46f66893a972a9f091952 (patch) | |
tree | 5f9756148699ac753de4834068faa4d333c36f98 /src | |
parent | e58b48a3162539cb79ff495d6040ca6f53f069d6 (diff) |
Add reset, pause, quit functionality
Diffstat (limited to 'src')
-rw-r--r-- | src/musichub/business/AudioElement.java | 32 | ||||
-rw-r--r-- | src/musichub/business/MusicHub.java | 8 | ||||
-rw-r--r-- | src/musichub/business/Song.java | 9 | ||||
-rw-r--r-- | src/musichub/main/Main.java | 6 |
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()); } |