뮤직 플레이어 앱
디바이스에 저장된 음원들을 재생하여 들을 수 있는 음원 재생 서비스
- 초기 : 2022. 09 ~ 2022. 11
- 리뉴얼 : 2023. 12 ~ 2024. 01
- 기획, 개발, 디자인 모두 했습니다.
- 사용 프로그램 : Android Studio, GitHub
- 사용 언어 : Kotlin
- minSdkVersion : 26
- targetSdkVersion : 34
- 디바이스에 저장된 음원을 재생할 수 있다.
- 사용자가 원하는 음원을 나의 플레이리스트에 추가할 수 있다.
- 음원을 반복/셔플 재생할 수 있다.
- 알림 채널에서 플레이어를 재생하거나 트랙 간에 이동할 수 있다.
- EQ 설정을 할 수 있다.
- MVVM 디자인 패턴
- AAC (Android Architecture Components) ViewModel
- LiveData
- Hilt
- Coroutine
- MotionLayout
- ROOM DB
- RecyclerView
- media3 (ExoPlayer)
- Material 디자인
- Glide (사진 첨부)
- EventBus
- ElasticViews
- 처음에 MediaPlayer를 사용하여 플레이어를 구현했지만, 기획했던 UI/UX를 구현하는데 어려움이 있어서
현업에서 많이 쓰이는 media3를 사용하는 것으로 좀 더 쉽게 구현했습니다. - 본 앱의 플레이어가 Youtube Music의 플레이어와 유사하게 동작하도록 구현하는데 어려움이 있었습니다.
이를 MotionLayout 라이브러리를 import하여 MotionScene을 통해 플레이어가 확장/축소되도록 했습니다.
플레이어가 축소되었을 때 표시/미표시되는 View를 Constraint로 설정하는데 시간이 오래 걸렸지만 결과적으로 성공했습니다.
MVVM 디자인 패턴과 AAC ViewModel을 적용하여 유지보수가 용이하도록 하고 UI 업데이트가 좀 더 간편해지도록 했습니다.
수많은 기능들이 있는 media3를 사용했지만, 일부 기능만 적용했기에 아쉬움이 남습니다.
추후에 영상 앱을 기획할 때 다시 한 번 공부하고 적용해볼 생각입니다.
EQ 조절이나 스킨 기능 등이 반영된 설정 기능을 추가하는 것도 고려하고 있습니다.