aboutsummaryrefslogtreecommitdiff
path: root/src/musichub/business/AudioElement.java
diff options
context:
space:
mode:
authorClyhtsuriva <61652557+clyhtsuriva@users.noreply.github.com>2021-06-26 11:02:14 +0000
committerGitHub <noreply@github.com>2021-06-26 11:02:14 +0000
commit0f827658562b3530b3d6bcbb77ce32490c977f28 (patch)
tree5f9756148699ac753de4834068faa4d333c36f98 /src/musichub/business/AudioElement.java
parentf920b48762cae194d5a9f7808273826714166424 (diff)
parent05b5bb7d2407006e08f46f66893a972a9f091952 (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.java44
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