tobby48 4 years ago
parent
commit
14d1af5d66

BIN
lib/player.jar View File


+ 64
- 0
src/main/java/kr/co/swh/lecture/opensource/mp3/Mp3Player.java View File

@@ -0,0 +1,64 @@
1
+package kr.co.swh.lecture.opensource.mp3; 
2
+
3
+import java.util.ArrayList;
4
+import java.util.Scanner;
5
+
6
+/**
7
+ * <pre>
8
+ * kr.co.swh.lecture.opensource.mp3 
9
+ * Mp3Player.java
10
+ *
11
+ * 설명 :
12
+ * </pre>
13
+ * 
14
+ * @since : 2021. 5. 16.
15
+ * @author : tobby48
16
+ * @version : v1.0
17
+ */
18
+public class Mp3Player {
19
+
20
+	public static void main(String[] args) {
21
+		// 메뉴 출력(), 재생정보 출력()
22
+		ArrayList<MusicVO> playlist = new ArrayList<MusicVO>();
23
+		playlist.add(new MusicVO("뱅뱅뱅", "빅뱅", 0, "C:\\Users\\tobby48\\git\\swh-opensource\\src\\main\\java\\kr\\co\\swh\\lecture\\opensource\\mp3\\bangbangbang.mp3"));
24
+//		playlist.add(new MusicVO("오빠차", "인크레더블", 120, ".\\src\\music\\brothercar.mp3"));
25
+//		playlist.add(new MusicVO("cheerup", "트와이스", 143, ".\\src\\music\\cheerup.mp3"));
26
+//		playlist.add(new MusicVO("daddy", "싸이", 190, ".\\src\\music\\daddy.mp3"));
27
+//		playlist.add(new MusicVO("dumbdumb", "레드벨벳", 110, ".\\src\\music\\dumbdumb.mp3"));
28
+//		playlist.add(new MusicVO("유리구슬", "여자친구", 170, ".\\src\\music\\glass.mp3"));
29
+//		playlist.add(new MusicVO("IcecreamCake", "레드벨벳", 110, ".\\src\\music\\icecreamcake.mp3"));
30
+//		playlist.add(new MusicVO("이럴거면그러지말지", "백아연", 90, ".\\src\\music\\no.mp3"));
31
+//		playlist.add(new MusicVO("위아래", "EXID", 110, ".\\src\\music\\updown.mp3"));
32
+//		playlist.add(new MusicVO("uptownpuck", "브루노마스", 90, ".\\src\\music\\uptownpunk.mp3"));
33
+
34
+		MusicPlayer mp = new MusicPlayer(playlist);
35
+		boolean onOff = true;
36
+
37
+		while (onOff) {
38
+			System.out.println("[1]재생  [2]정지  [3]이전곡  [4]다음곡  [5]종료");
39
+			switch (new Scanner(System.in).nextInt()) {
40
+			case 1:
41
+				MusicVO currentMusic = mp.play();
42
+				System.out.println(currentMusic.getTitle());
43
+				break;
44
+			case 2:
45
+				mp.stop();
46
+				System.out.println("정지");
47
+				break;
48
+			case 3:
49
+				MusicVO previouMusic = mp.previous();
50
+				System.out.println(previouMusic.getTitle());
51
+				break;
52
+			case 4:
53
+				MusicVO nextMusic = mp.next();
54
+				System.out.println(nextMusic.getTitle());
55
+				break;
56
+			case 5:
57
+				System.out.println("종료");
58
+				onOff = false;
59
+				break;
60
+			}
61
+
62
+		}
63
+	}
64
+}

+ 74
- 0
src/main/java/kr/co/swh/lecture/opensource/mp3/MusicPlayer.java View File

@@ -0,0 +1,74 @@
1
+package kr.co.swh.lecture.opensource.mp3; 
2
+
3
+import java.util.ArrayList;
4
+
5
+import javazoom.jl.player.MP3Player;
6
+
7
+/**
8
+ * <pre>
9
+ * kr.co.swh.lecture.opensource.mp3 
10
+ * MusicPlayer.java
11
+ *
12
+ * 설명 :
13
+ * </pre>
14
+ * 
15
+ * @since : 2021. 5. 16.
16
+ * @author : tobby48
17
+ * @version : v1.0
18
+ */
19
+public class MusicPlayer {
20
+
21
+
22
+	//노래리스트,  재생(), 정지(), 이전곡(), 다음곡()
23
+	private ArrayList<MusicVO> playlist = new ArrayList<MusicVO>();
24
+	private MP3Player mp3Player;
25
+	private int index;
26
+
27
+	public MusicPlayer(ArrayList<MusicVO> playlist) {
28
+		this.playlist = playlist;
29
+		this.mp3Player = new MP3Player();
30
+	}
31
+
32
+	public ArrayList<MusicVO> getPlaylist() {
33
+		return playlist;
34
+	}
35
+
36
+	public void indexNum(int index) {
37
+		if(index < 0) {
38
+			index = playlist.size() - 1;
39
+		} else if(index >= playlist.size()) {
40
+			index = 0;
41
+		}
42
+		this.index = index;
43
+	}
44
+
45
+	public MusicVO play() {
46
+		MusicVO m = playlist.get(index);
47
+		if(mp3Player.isPlaying()) {
48
+			mp3Player.stop();
49
+		}
50
+		mp3Player.play(m.getPath());
51
+
52
+		return m;
53
+	}
54
+
55
+	public void stop() {
56
+		if(mp3Player.isPlaying()) {
57
+			mp3Player.stop();
58
+		}
59
+	}
60
+
61
+	public MusicVO previous() {
62
+		indexNum(index-1);
63
+
64
+		return play();
65
+	}
66
+
67
+	public MusicVO next() {
68
+		indexNum(index+1);
69
+
70
+		return play();
71
+	}
72
+
73
+
74
+}

+ 48
- 0
src/main/java/kr/co/swh/lecture/opensource/mp3/MusicVO.java View File

@@ -0,0 +1,48 @@
1
+package kr.co.swh.lecture.opensource.mp3; 
2
+
3
+import org.apache.log4j.Logger;
4
+
5
+/**
6
+ * <pre>
7
+ * kr.co.swh.lecture.opensource.mp3 
8
+ * MusicVO.java
9
+ *
10
+ * 설명 :
11
+ * </pre>
12
+ * 
13
+ * @since : 2021. 5. 16.
14
+ * @author : tobby48
15
+ * @version : v1.0
16
+ */
17
+public class MusicVO {
18
+	//제목, 가수, 재생시간, 파일경로
19
+	private String title;
20
+	private String singer;
21
+	private int playTime;
22
+	private String path;
23
+
24
+	public MusicVO(String title, String singer, int playTime, String path) {
25
+		super();
26
+		this.title = title;
27
+		this.singer = singer;
28
+		this.playTime = playTime;
29
+		this.path = path;
30
+	}
31
+
32
+	public String getTitle() {
33
+		return title;
34
+	}
35
+
36
+	public String getSinger() {
37
+		return singer;
38
+	}
39
+
40
+	public int getPlayTime() {
41
+		return playTime;
42
+	}
43
+
44
+	public String getPath() {
45
+		return path;
46
+	}
47
+
48
+}

BIN
src/main/java/kr/co/swh/lecture/opensource/mp3/bangbangbang.mp3 View File