본문 바로가기
50 year old flutter developer challenge

[50살에 플러터 개발 도전기] 화이트 노이즈개발과의 싸움

by Maccrey Coding 2025. 2. 11.
반응형

학습 타임 관리 앱의 핵심 기능, 화이트 노이즈

요즘 내가 개발하고 있는 학습 타임 관리 앱에서 가장 중요한 기능 중 하나가 화이트 노이즈 기능이 되었다.

사용자가 집중할 수 있도록 여러 가지 소리를 혼합하여 들을 수 있게 하는 것이 핵심이다.

 

처음에는 just_audio 패키지를 이용하여 화이트 노이즈를 구현했다. 앱을 닫아도 백그라운드에서 재생이 유지되었고, 에뮬레이터에서도 정상적으로 작동했다.

하지만 실기 테스트를 진행해보니, 약 20분 정도가 지나면 OS에서 백그라운드를 종료시키면서 재생이 중단되는 문제가 발생했다.

빈공간은 광고를 넣을 자리. 플레이이 되고 있는 화이트노이즈는 사용자가 정지하기 쉽도록 다시 그리드뷰를 sort하도록 했다.

 

Drawer를 이용하여 화이트 노이즈 컨트롤을 할 수 있고 현재 재생하고 있는 화이트 노이즈를 확인 할 수 있도록 구현했다.

just_audio_background의 한계

이 문제를 해결하기 위해 just_audio_background 패키지를 추가하여 백그라운드 재생을 시도했다. 하지만 새로운 문제에 직면했다.

백그라운드에서 단 하나의 MP3 파일만 재생할 수 있다.

 

화이트 노이즈는 사용자에게 여러 개의 소리를 조합해서 들을 수 있도록 해야 하는데, just_audio_background는 단일 오디오 파일만 백그라운드에서 재생할 수 있도록 제한하고 있었다.

 

나는 이 패키지가 아직 베타 버전이라는 사실을 간과하고 있었다.

결국 백그라운드 재생을 커스텀 마이징해야 했고, 이전에 GPS 기능을 구현할 때 사용했던 workmanagerbackground_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

반응형