학습 타임 관리 앱의 핵심 기능, 화이트 노이즈
요즘 내가 개발하고 있는 학습 타임 관리 앱에서 가장 중요한 기능 중 하나가 화이트 노이즈 기능이 되었다.
사용자가 집중할 수 있도록 여러 가지 소리를 혼합하여 들을 수 있게 하는 것이 핵심이다.
처음에는 just_audio 패키지를 이용하여 화이트 노이즈를 구현했다. 앱을 닫아도 백그라운드에서 재생이 유지되었고, 에뮬레이터에서도 정상적으로 작동했다.
하지만 실기 테스트를 진행해보니, 약 20분 정도가 지나면 OS에서 백그라운드를 종료시키면서 재생이 중단되는 문제가 발생했다.


just_audio_background의 한계
이 문제를 해결하기 위해 just_audio_background 패키지를 추가하여 백그라운드 재생을 시도했다. 하지만 새로운 문제에 직면했다.
백그라운드에서 단 하나의 MP3 파일만 재생할 수 있다.
화이트 노이즈는 사용자에게 여러 개의 소리를 조합해서 들을 수 있도록 해야 하는데, just_audio_background는 단일 오디오 파일만 백그라운드에서 재생할 수 있도록 제한하고 있었다.
나는 이 패키지가 아직 베타 버전이라는 사실을 간과하고 있었다.
결국 백그라운드 재생을 커스텀 마이징해야 했고, 이전에 GPS 기능을 구현할 때 사용했던 workmanager나 background_fetch와 같은 패키지를 활용해야겠다고 생각했다.
해결책, flutter_sound 발견
백그라운드에서 오디오를 유지하는 것은 쉬운 일이 아니었다.
여러 번의 시행착오 끝에 flutter_sound 패키지가 백그라운드 재생을 지원한다는 것을 알게 되었다.
개발은 이렇게 여러 번의 시도와 실패를 거쳐 배우는 과정이라는 것을 다시 한 번 실감했다.
시행착오를 거치면서 나만의 경험을 쌓는 것이야말로 가장 큰 자산이라는 생각이 들었다.
같은 문제를 겪고 있는 개발자들에게도 도움이 되길 바라며, 아래에 관련된 GitHub 주소를 공유한다.
🔗 GitHub Repository: flutter_background_mp3_play
구독!! 공감과 댓글,
광고 클릭은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
Tester Share [테스터쉐어] - Google Play 앱
Tester Share로 Google Play 앱 등록을 단순화하세요.
play.google.com
'50 year old flutter developer challenge' 카테고리의 다른 글
[50살에 플러터 개발 도전기] 새싹을 수료한 이야기: Study Duck 앱의 첫 발을 떼다 (0) | 2025.03.11 |
---|---|
[50살에 플러터 개발 도전기] 플러터 개발자의 꿈, 드디어 한 걸음 나아가다! (새싹청년취업사관학교 졸업) (0) | 2025.03.04 |
[50살에 플러터 개발 도전기] Study Duck 학습 타이머 관리 앱, 백엔드 전환 이슈 (0) | 2025.02.11 |
[50살에 플러터 개발 도전기] 플러터에서 GPS 백그라운드 작업 구현: WorkManager, Background Fetch, Isolate를 사용한 경험 (1) | 2025.02.03 |
[50살에 플러터 개발 도전기] Hive 패키지 문제 해결 여정 (0) | 2025.01.17 |