pytube 라이브러리를 이용하여 youtube에서 영상을 받아주는 프로그램을 제작하고 이를 exe로 패키징한다.
위의 exe를 활용하여 음악과 플레이리스트를 관리하는 부분을 Java로 제작한다.
본 프로젝트의 핵심 아이디어와 무관한 랜덤, 다음 곡, 음량조절 등은 기존에 공개되어 있는 프로젝트의 코드를 허락 받고 사용하였다
- JSON 파일을 이용하여 이용자가 조작한 정보들을 저장한다.
- 프로그램 실행시 등록된 Dynamic Playlist에 대한 갱신 작업을 진행한다.
- JSON으로 Dynamic하게 관리하는 유튜브 플레이리스트와, 이용자가 직접 편집한 플레이리스트를 별도로 관리한다.
- 구독하고 있는 플레이리스트를 구독 해제할 경우 리스트를 유지하면서 일반 플레이리스트로 전환한다.
- 구독 해제한 플레이리스트를 다시 등록할 경우 기존에 등록된 플레이리스트와 병합한다.
- 플레이리스트 외에 링크로 음악 파일 하나만 받을 수 있는 기능도 지원한다.
- 플레이리스트 관리에 있어서 플레이리스트 내부에 다른 플레이리스트를 포함하도록 설정할 수 있어서 내부 플레이리스트가 업데이트 될 경우 외부 플레이리스트에도 변화가 적용되게 할 수 있는 기능을 지원한다.
- 위 기능을 원하지 않을 경우 내부에 있는 정보만 추가할 수 있는 기능도 지원한다.
- 음원을 받으면서 유튜브 썸네일도 함께 받아둔다.
- 플레이어의 제목 부분을 클릭할 경우 현재 플레이중인 음악의 썸네일을 보이게 할 수 있다.
- 플레이리스트를 등록한 이후 이름을 변경할 수 있다.
- 상단 타이틀바가 마음에 안들어서 없애버리고 새로 만들었다.
실제 실행 영상은 example.mp4 참조