diff options
author | Clyhtsuriva <61652557+clyhtsuriva@users.noreply.github.com> | 2021-06-26 11:02:14 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-26 11:02:14 +0000 |
commit | 0f827658562b3530b3d6bcbb77ce32490c977f28 (patch) | |
tree | 5f9756148699ac753de4834068faa4d333c36f98 /src/musichub/business/AudioElement.java | |
parent | f920b48762cae194d5a9f7808273826714166424 (diff) | |
parent | 05b5bb7d2407006e08f46f66893a972a9f091952 (diff) |
Merge pull request #4 from Said-Belhadj/feature/STZ-0001
Feature/stz 0001
Diffstat (limited to 'src/musichub/business/AudioElement.java')
-rw-r--r-- | src/musichub/business/AudioElement.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/musichub/business/AudioElement.java b/src/musichub/business/AudioElement.java index e0a686b..0c1e9e4 100644 --- a/src/musichub/business/AudioElement.java +++ b/src/musichub/business/AudioElement.java @@ -3,8 +3,17 @@ package musichub.business; import org.w3c.dom.Document; 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; +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; @@ -84,5 +93,40 @@ public abstract class AudioElement { parentElement.appendChild(contentElement); } + + 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); + + 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 |