- 내가 들은 음악 통계 내기
-
npm과 node.js를 설치한다.
-
다음을 다운로드 한 뒤, 압축을 해제하고 폴더를 연다
-
(처음 실행한다면)
install.cmd
파일을 실행한다. -
(아니라면)
mp3.cmd
파일을 실행한다. -
프로그램이 알아서 컴퓨터의 파일을 긁어 올 것이다.
-
긁히지 원하는 폴더가 있다면,
.\asset\setting\dir.txt
에서 다음과 같이 적으면 된다거부 C:\Users\User\desktop C:\User\User\document
예시: cmd 창에 쳐서 실행시킬 때
node main w
라고 치면 실행과 동시에 웹브라우져가 열림
- w: 웹 브라우저 열기
- h: 힌트 표시하기
- l: db 관련 로그 표시하기
특징 및 이전작과의 차이점
- mp3 파일을 직접 뜯어봄
- SQLite 데이터베이스를 사용해 정보를 저장해 둠.
- 가수별, 엘범별, 제목별 모음 기능.
- 소리 없는 앞, 뒷부분 자르기
- Web Audio Api 사용함.
- 음악 스트리밍하기
- 통계 보기
- 음악 스트리밍
my_hls 모듈: FFmpeg를 이용해 곡을 나누고, 보내는 모듈임
하지만 현재 다른 방법을 찾아 적용(mp3_split.ts)했기에 사용하지 않음 (참고:
my_hls
모듈은modules/my_hls
폴더에 ffmpeg.exe가 있어야 작동함)
/r
로 접속하면- 끊임없는 랜덤재생만 가능
- 매우 가벼운 코드
/s
로 접속하면- 모바일 백그라운드 자동재생, (
MediaMetadata
이용) - 간단한 곡 검색,
- lrc 파일 이용한 실시간 가사 진행 (사전에 정의된 파일에 한함.),
- 끊임없는 랜덤재생.
- 적당히 가벼운 코드.
- 모바일 백그라운드 자동재생, (
- Node.js v16.13.0
- npm v7.22.0
- mp3 디코딩 관련: js-mp3 모듈, 정상작동하지 않아 약간 수정했음. C언어는 아직 나에게 너무 어렵다.
- 데이터베이스 관련: node.js SQLite3 모듈
- HTML 파싱 관련: node.js cheerio 모듈
- MD5 해싱 관련: js-md5
- EQ 관련: WebAudioApi 관련 블로그
- 군데군데 타입스크립트를 활용함!
음악 스트리밍 관련: FFmpeg직접 파일을 자르므로, 사용 안 함
- 디자인
- DB Browser for SQLite (sqlite 편집기)
- 생활코딩 DATABASE2 - MySQL | 오픈튜토리얼스
- 생활코딩 관계형 데이터 모델링 | 오픈튜토리얼스
- 중복넣기
- SQL 자료형 목록
- $ 사용 관련 에러