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/musichub/business | |
| parent | e58b48a3162539cb79ff495d6040ca6f53f069d6 (diff) | |
Add reset, pause, quit functionality
Diffstat (limited to 'src/musichub/business')
| -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 | 
3 files changed, 34 insertions, 15 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; | 
