반응형 앱개발47 Flutter와 just_audio로 구현하는 완벽한 갭리스(Gapless) 오디오 재생 가이드 안녕하세요, Flutter 개발자 여러분!오늘은 많은 음악 앱, 명상 앱, 그리고 백색소음(white noise) 앱 개발자들이 겪는 공통적인 문제인 갭리스 오디오 재생(Gapless Audio Playback) 구현에 대해 알아보겠습니다.특히 루프 재생 중 오디오 파일이 끝나고 다시 시작할 때 발생하는 그 짜증나는 '끊김 현상'을 완벽하게 해결하는 방법을 단계별로 소개해 드리겠습니다.📌 목차갭리스 오디오 재생이란?Flutter에서 갭리스 재생이 필요한 상황just_audio 패키지 소개갭리스 재생을 위한 설정 방법코드 실습: 끊김 없는 루프 재생 구현하기오디오 파일 최적화 기법고급 기법: 크로스페이드와 오디오 세션 관리문제 해결과 FAQ갭리스 오디오 재생이란?갭리스 오디오 재생이란 한 마디로 오디오 .. 2025. 4. 29. [50살에 플러터 개발 도전기] Study Duck : Drawer 애니메이션으로 화이트노이즈 컨트롤의 UX 개선하기 문제 발견키워드: Flutter Drawer, UX 개선, 애니메이션 UI, 화이트노이즈 앱, 사용자 경험Study Duck은 화이트노이즈를 통해 사용자의 집중력을 높여주는 앱입니다.초기 버전에서는 화이트노이즈 컨트롤을 Drawer에 구현했지만, 햄버거 메뉴를 제거한 탓에 많은 사용자가 Drawer의 존재 자체를 인지하지 못했습니다.이는 UI/UX 측면에서 실패로 이어졌습니다.이를 해결하기 위해 Drawer에 애니메이션을 추가해 사용자가 직관적으로 Drawer를 발견할 수 있도록 개선한 과정을 이 블로그에서 공유합니다.문제 분석키워드: Drawer UX, 사용자 인터랙션, Flutter UI 디자인문제점: 햄버거 메뉴를 제거해 화면은 깔끔해졌지만, 사용자가 Drawer를 열 수 있다는 사실을 알지 못함... 2025. 4. 20. [50살에 플러터 개발 도전기] 플러터 개발자의 꿈, 드디어 한 걸음 나아가다! (새싹청년취업사관학교 졸업) 2025년 3월 7일, 인생의 전환점드디어 오늘, 나는 새싹청년취업사관학교를 졸업한다. 50세의 나이에 새로운 도전을 시작하면서 걱정도 많았지만, 지금 이 순간만큼은 뿌듯함이 더 크다. 플러터 개발자로서 한 걸음 내디딘 이 과정이 쉽지는 않았지만, 이제는 내가 만든 앱을 세상에 공개할 준비를 하고 있다.Study Duck, 팀원들과 함께한 열정의 결과물졸업작품으로 학습 타이머 관리 앱을 개발하기 위해 3명의 팀원들과 머리를 맞댔다. 우리는 2개월 동안 Study Duck을 개발하며 수많은 시행착오를 겪었다. 특히 예상치 못한 위기가 찾아왔다. 백엔드 담당 팀원의 갑작스러운 탈퇴! 정말 긴급한 상황이었지만, 포기할 수는 없었다. 우리는 즉시 논의 끝에 파이어베이스(Firebase)를 도입해 백엔드를 재구축.. 2025. 3. 4. 플러터에서 WorkManager로 GPS 위치를 백그라운드에서 저장하는 방법 안녕하세요, 기술 블로거 [Maccrey]입니다.이번에는 플러터에서 WorkManager 패키지를 활용하여 백그라운드에서 GPS 위치를 받아와서 Hive에 저장하는 방법에 대해 알아보겠습니다.특히 스마트폰이 꺼져도 계속해서 위치를 저장할 수 있는 방법에 대해 초보자도 쉽게 이해할 수 있도록 풀어볼게요.1. GPS 위치 백그라운드 작업 제한 이해하기플러터에서 GPS 위치를 백그라운드로 받아오는 작업을 하려고 할 때, 대부분의 Android 기기에서는 백그라운드 작업을 제한합니다.앱이 백그라운드에서 실행 중일 때, 시스템 자원을 절약하고 배터리 소모를 줄이기 위해 자동으로 앱을 종료시킬 수 있습니다. 그러나 조깅 앱과 같은 경우, 스마트폰이 꺼져도 계속 위치를 추적해야 하므로 이러한 제한을 우회해야 합니다... 2025. 2. 12. [50살에 플러터 개발 도전기] 화이트 노이즈개발과의 싸움 학습 타임 관리 앱의 핵심 기능, 화이트 노이즈요즘 내가 개발하고 있는 학습 타임 관리 앱에서 가장 중요한 기능 중 하나가 화이트 노이즈 기능이 되었다. 사용자가 집중할 수 있도록 여러 가지 소리를 혼합하여 들을 수 있게 하는 것이 핵심이다. 처음에는 just_audio 패키지를 이용하여 화이트 노이즈를 구현했다. 앱을 닫아도 백그라운드에서 재생이 유지되었고, 에뮬레이터에서도 정상적으로 작동했다. 하지만 실기 테스트를 진행해보니, 약 20분 정도가 지나면 OS에서 백그라운드를 종료시키면서 재생이 중단되는 문제가 발생했다. just_audio_background의 한계이 문제를 해결하기 위해 just_audio_background 패키지를 추가하여 백그라운드 재생을 시도했다. 하지만 새로운 문제에 직면했다.. 2025. 2. 11. [50살에 플러터 개발 도전기] Hive 패키지 문제 해결 여정 안녕하세요, 플러터 개발자를 꿈꾸는 50세의 개발자입니다. 오늘은 허밍버드 팀과 함께 학습관리 앱을 개발하면서 겪었던 특별한 경험을 공유하려 합니다.Hive 패키지에서 발생한 문제우리 팀은 학습관리 앱 개발 도중 Hive 패키지를 사용하면서 예상치 못한 문제가 발생했습니다. 앱을 종료하고 다시 실행하면 Hive에 저장했던 데이터가 null로 변하는 이상한 증상이 나타난 것입니다. 이 문제는 처음에 쉽게 해결될 것처럼 보였지만, 실제로는 복잡한 원인이 숨겨져 있었습니다.문제 원인 파악문제를 해결하기 위해 팀원들과 함께 이틀간 다양한 시도를 했습니다. 여러 로그를 분석하고, 공식 문서를 다시 검토하며 원인을 찾으려 노력했죠. 결국, 문제의 핵심은 model이 자동으로 Dynamic으로 변경되면서 캐스팅이 이.. 2025. 1. 17. 이전 1 2 3 4 ··· 8 다음 반응형