🔧 기술적 심층 분석

Yay!Timer 지속 모드 기술

화면이 꺼져 있거나, 앱이 백그라운드에 있거나, 휴대폰이 잠겨 있어도 멈추지 않는 음성 안내 뒤에 숨겨진 기술.

Android가 타이머 음성 안내를 멈추는 이유

😤

화면 잠금 시 타이머 앱 실패

강도 높은 HIIT 운동 15분째입니다. 휴대폰을 내려놓고 화면을 잠그고 버피에 집중합니다. 그러다... 침묵. 음성 안내가 멈췄습니다. 3개의 인터벌을 놓쳤고 운동 중 어디에 있는지 모릅니다.

이것은 Android가 배터리를 절약하기 위해 백그라운드 앱을 적극적으로 관리하기 때문에 발생합니다. 화면이 꺼지면 운영 체제가 백그라운드에서 실행 중인 앱(타이머 포함)을 일시 중지하거나 종료할 수 있습니다.

Android Doze 및 백그라운드 앱 제한

🔋

배터리 최적화

Android는 배터리 수명을 연장하기 위해 백그라운드 앱의 CPU 시간 및 네트워크 액세스를 제한합니다.

💤

Doze 모드

화면이 꺼진 상태에서 휴대폰이 정지해 있으면 Android가 Doze 모드에 들어가 백그라운드 작업을 연기합니다.

🎵

오디오 포커스

다른 앱이 소리를 재생하거나 시스템이 다른 오디오를 우선할 때 앱이 오디오 포커스를 잃을 수 있습니다.

🗣️

TTS 엔진 제한

텍스트 음성 변환은 실시간으로 음성 합성을 요청하기 위해 앱이 "활성" 상태여야 합니다.

사전 생성 오디오: 지속 모드 솔루션

✅

사전 생성 오디오 파일 기술

운동 중 실시간으로 음성 안내를 생성하는 대신, Yay!Timer의 지속 모드는 시작하기 전에 전체 오디오 트랙을 미리 생성합니다. 모든 음성 안내, 카운트다운, 무음 구간이 단일 오디오 파일로 결합되어 음악 트랙처럼 연속 재생됩니다.

지속 모드 오디오 생성 단계

1

루틴 분석

시작을 탭하면 Yay!Timer가 모든 인터벌, 세트, 반복을 포함한 전체 루틴을 분석합니다. 각 음성 안내가 언제 재생되어야 하는지 정확하게 계산합니다.

2

TTS 사전 생성

각 고유한 안내 텍스트가 기기의 TTS 엔진을 사용하여 오디오로 변환됩니다. 중복 텍스트(여러 인터벌에 나타나는 "운동"과 같은)는 한 번 생성되어 재사용되어 생성 시간을 최소화합니다.

3

오디오 인코딩

TTS 오디오 세그먼트와 계산된 무음 구간이 결합되어 인코딩됩니다. 60분 미만의 루틴에는 단순성을 위해 WAV 형식이 사용됩니다. 더 긴 루틴에는 효율적인 AAC 인코딩으로 파일 크기를 관리합니다.

4

미디어 플레이어 재생

생성된 오디오는 음악을 재생하는 것과 동일한 시스템인 Android의 Media Player API를 통해 재생됩니다. 이를 통해 오디오가 높은 우선순위를 가져 화면이 꺼져 있거나 다른 앱이 전경에 있어도 계속됩니다.

5

인터벌 동기화

정밀한 인터벌 맵이 오디오 타임스탬프를 운동 인터벌에 연결합니다. 앞으로 또는 뒤로 건너뛸 때 오디오가 해당 인터벌의 정확한 위치로 이동합니다. UI가 오디오 타임라인과 완벽하게 동기화됩니다.

오디오 캐싱 & AAC 인코딩 세부 사항

📁

스마트 오디오 파일 캐싱

생성된 오디오 파일은 기기에 안전하게 캐시됩니다. 동일한 루틴을 다시 실행하면 캐시된 파일이 재사용됩니다—재생성이 필요 없습니다. 루틴을 수정할 때만 새 오디오 파일이 생성됩니다.

⚡ 두 번째 실행은 즉시 시작

🎵

WAV vs AAC 형식 선택

60분 미만의 운동에는 WAV 형식이 최대 호환성을 보장합니다. 더 긴 루틴(90분 코칭 세션 등)에는 AAC 인코딩이 품질을 유지하면서 파일 크기를 줄입니다.

📊 90분 루틴 ≈ 5MB AAC

🔄

Tabata 세그먼트 재사용 캐싱

반복 인터벌이 있는 루틴(Tabata의 8개 동일 라운드 등)의 경우, 인코더가 세션 내에서 사전 인코딩된 세그먼트를 캐시하고 재사용하여 생성 시간을 크게 줄입니다.

🏃 Tabata에서 50% 캐시 적중률

🎯

밀리초 단위 타이밍 정밀도

인터벌 매핑 시스템은 밀리초 정확도로 안내 위치를 추적합니다. 건너뛰기 작업은 각 인터벌 안내 시작 부분에 정확하게 도착합니다.

🎯 <0.02% 타이밍 오차

Yay!Timer 설정의 TTS와 지속 모드 간 오디오 모드 선택

배터리 절약 설정의 오디오 모드 선택

TTS 모드 vs 지속 모드 비교

기능 TTS 모드 (무료) 지속 모드 (프리미엄)
화면 꺼짐 ❌ 멈출 수 있음 ✅ 계속됨
앱 백그라운드 ❌ 멈출 수 있음 ✅ 계속됨
휴대폰 잠금 ❌ 멈출 수 있음 ✅ 계속됨
시작 시간 ⚡ 즉시 ⏳ 짧은 생성 시간 (첫 실행)
배터리 사용량 🔋 낮음 🔋 약간 높음
긴 운동 ❌ 중단 위험 ✅ 90분 이상 완벽
저장 공간 사용 📦 없음 📦 캐시된 오디오 파일

각 모드를 사용해야 할 때

  • TTS 모드: 화면이 켜진 상태의 짧은 운동, 대기 시간 없이 즉시 시작하고 싶을 때.
  • 지속 모드: 휴대폰을 잠그거나, 주머니에 넣거나, 100% 안정성이 필요한 모든 운동.

Yay!Timer 기능 살펴보기

Yay!Timer 다운로드 – 인터벌을 놓치지 마세요

지속 모드의 안정성을 경험하세요. Yay!Timer를 무료로 다운로드하고 ₩4,290에 프리미엄으로 업그레이드하세요.

Yay!Timer 무료 다운로드