본문 바로가기

DATA 분석 교육 과정 (2024.02~08)/JAVA

JAVA_Music Playlist 만들기

728x90
public class Music {

	
	// 노래 정보를 관리할 수 있는 설계도
	// 설계도 특징:  main 메소드가 있으면 안된다. 	
	
	private String songPath;
	private String singer;
	private String song;
	
	// 생성자 매소드 필요
	// 클래스 명칭(
	public Music(String songPath, String singer, String song) {
		super();
		this.songPath = songPath; //this가 없을 경우 위에 적용이 안된담
		this.singer = singer;
		this.song = song;
	}
	
	//getter 메소드 
	public String getSongPath() {
		return songPath;
	}	

	public String getSinger() {
		return singer;
	}
	public String getSong() {
		return song;
	}

// 저장 확인
	
	
	
}

 


public class MusicMain {

	public static void main(String[] args) {

		
		// 1. MP3Pplayer 기능 불러오기
		MP3Player mp3 = new MP3Player();
		
		// 곡의 경로, 가수, 노래 제목의 정보를 알고 재생확인 가능
		  //>> 클래스로 해당 자료를 묶어서 관리! 
		
		// 공통적인 경로를 담을 수 있는 변수 생성
		String path = "C:\\Users\\USER\\Desktop\\javaSTUDY\\Ex10MusicPlayer\\player\\";
		
		Music m1 = new Music (path+"HypeBoy.mp3","뉴진스","HypeBoy");
		Music m2 = new Music  (path+"밤양갱.mp3","비비","밤양갱");			
				//  경로
		
		ArrayList<Music> musiclist = new ArrayList<>();
		musiclist.add(m1);
		musiclist.add(m2);
		// 또는 아래 형식으로 가능
		musiclist.add(new Music(path+"LoveLee.mp3","악뮤","LoveLee"));
		
		
		// 선택기능 만들기
		Scanner sc = new Scanner(System.in);
	    
		//ㅐ생을 관리할 수 있는 index변수 생성
		int i = 0;
		
		
		while(true) {
		System.out.println("[1]재생 [2]정지 [3]이전곡 [4]다음곡 [5]종료>>");
	    int input = sc. nextInt();
	   
		if(input==1) {		
	// 재생되고 있는 노래가 있는지 확인!
			if(mp3.isPlaying()){
				mp3.stop();
			}
			mp3.play(musiclist.get(i).getSongPath());
			System.out.println(musiclist.get(i).getSinger()+"/"+musiclist.get(i).getSong()+"재생중입니다. ");
			
		}else if(input==2) {
	// 정지기능
			if(mp3.isPlaying()){;
			  mp3.stop();
			 System.out.println(musiclist.get(i).getSinger()+"/"+musiclist.get(i).getSong()+"정지 되었습니다. ");
			}else {
				System.out.println("재생되는 곡이 없습니다.");
			}
			
		}else if(input==3) {
	// 이전곡		
	   // [4]>[3]>[2]>[1]>[0]>[4]	
			
		if(mp3.isPlaying()) {
			mp3.stop();	
		}		
		i--	;
		if(i>=0) {			
			mp3.play(musiclist.get(i).getSongPath());
			System.out.println(musiclist.get(i).getSinger()+"/"+musiclist.get(i).getSong()+"재생중입니다. ");
			
			
		} else {			
			i = musiclist.size()-1;
			mp3.play(musiclist.get(i).getSongPath());
			System.out.println(musiclist.get(i).getSinger()+"/"+musiclist.get(i).getSong()+"재생중입니다. ");
		}
			
				
			
		}else if(input==4) {
	// 다음곡		
	   // 0번쩨 musiclist[0]>> [1]>[2]>[3]>					
	   // 현재 재생중인 노래가 있다면 정지!
	   		if(mp3.isPlaying()){
				mp3.stop();
			}
	 		 
	   // 다음곡으로 넘어갈 수 있는 기능 생성		
	   	  i++;
	   		if(i<musiclist.size()) {		
		   mp3.play(musiclist.get(i).getSongPath());
			System.out.println(musiclist.get(i).getSinger()+"/"+musiclist.get(i).getSong()+"재생중입니다. ");
	   		} else {
	   			i=0;	
	   			mp3.play(musiclist.get(i).getSongPath());
				System.out.println(musiclist.get(i).getSinger()+"/"+musiclist.get(i).getSong()+"재생중입니다. ");
	   		}
	   		
			
		}else if(input==5) {
			System.out.println("mp3를 종료합니다.!");
			 break;
		}else {
			System.out.println("잘못 선택하셨습니다. ");
		}
	} // while 종료

출처: 스마트인재개발원

728x90
반응형