🔧 技術詳細

Yay!Timer 持続モードテクノロジー

画面オフ、アプリがバックグラウンド、スマートフォンがロック状態でも—音声アナウンスが止まらない技術の裏側。

なぜAndroidはタイマーの音声アナウンスを停止するのか

😤

画面ロックでタイマーアプリが停止する問題

激しいHIITワークアウトの15分後。スマートフォンを置いて、画面をロックし、バーピーに集中。すると...無音。音声アナウンスが止まった。3つのインターバルを逃し、ワークアウトのどこにいるかわからなくなった。

これはAndroidがバッテリー節約のためにバックグラウンドアプリを積極的に管理するからです。画面がオフになると、OSはタイマーを含むバックグラウンドアプリを一時停止または終了させる可能性があります。

AndroidのDozeモードとバックグラウンドアプリ制限

🔋

バッテリー最適化

Androidはバッテリー寿命を延ばすため、バックグラウンドアプリのCPU時間とネットワークアクセスを制限します。

💤

Dozeモード

画面オフで静止状態の時、AndroidはDozeモードに入り、バックグラウンド処理を延期します。

🎵

オーディオフォーカス

他のアプリが音を再生したり、システムが他の音声を優先したりすると、アプリはオーディオフォーカスを失う可能性があります。

🗣️

TTSエンジンの制限

テキスト読み上げはリアルタイムで音声合成を要求するため、アプリが「生きている」必要があります。

事前生成オーディオ:持続モードのソリューション

✅

事前生成オーディオファイル技術

ワークアウト中にリアルタイムで音声アナウンスを生成する代わりに、Yay!Timerの持続モードは開始前にオーディオトラック全体を事前生成します。すべての音声アナウンス、カウントダウン、無音インターバルが1つのオーディオファイルにまとめられ、音楽トラックのように連続再生されます。

持続モードのオーディオ生成ステップ

1

ルーティン分析

開始をタップすると、Yay!Timerはルーティン全体を分析します—すべてのインターバル、セット、反復。各音声アナウンスがいつ再生されるべきかを正確に計算します。

2

TTS事前生成

各ユニークなアナウンステキストは、デバイスのTTSエンジンを使用してオーディオに変換されます。重複テキスト(複数のインターバルに表示される「ワーク」など)は一度生成して再利用し、生成時間を最小化します。

3

オーディオエンコーディング

TTSオーディオセグメントと計算された無音インターバルが結合されエンコードされます。60分未満のルーティンにはシンプルなWAVフォーマットを使用。より長いルーティンには効率的なAACエンコーディングでファイルサイズを管理します。

4

メディアプレイヤー再生

生成されたオーディオはAndroidのMedia Player API—音楽再生と同じシステム—を通じて再生されます。これによりオーディオに高い優先度が与えられ、画面オフや他のアプリがフォアグラウンドでも継続できます。

5

インターバル同期

精密なインターバルマップがオーディオタイムスタンプとワークアウトインターバルをリンクします。前後にスキップすると、オーディオはそのインターバルの正確な位置にシークします。UIはオーディオタイムラインと完璧に同期します。

オーディオキャッシングとAACエンコーディングの詳細

📁

スマートオーディオファイルキャッシング

生成されたオーディオファイルはデバイスに安全にキャッシュされます。同じルーティンを再度実行する場合、キャッシュファイルが再利用され—再生成は不要。ルーティンを変更した場合のみ新しいオーディオファイルが生成されます。

⚡ 2回目の実行は即座に開始

🎵

WAV vs AACフォーマット選択

60分未満のワークアウトには最大互換性のためWAVフォーマットを使用。より長いルーティン(90分のコーチングセッションなど)にはAACエンコーディングで品質を維持しながらファイルサイズを削減します。

📊 90分のルーティン ≈ 5MB AAC

🔄

Tabataセグメント再利用キャッシング

繰り返しインターバルを持つルーティン(Tabataの8つの同一ラウンドなど)では、エンコーダーがセッション内で事前エンコードされたセグメントをキャッシュして再利用し、生成時間を大幅に短縮します。

🏃 Tabataで50%のキャッシュヒット率

🎯

ミリ秒精度のタイミング

インターバルマッピングシステムはミリ秒精度でアナウンス位置を追跡します。スキップ操作は各インターバルのアナウンス開始に正確に着地します。

🎯 <0.02%のタイミング誤差

TTSモード vs 持続モードの比較

機能 TTSモード(無料) 持続モード(プレミアム)
画面オフ ❌ 停止する可能性 ✅ 継続
バックグラウンド ❌ 停止する可能性 ✅ 継続
スマホロック ❌ 停止する可能性 ✅ 継続
開始時間 ⚡ 即座 ⏳ 短い生成時間(初回のみ)
バッテリー使用量 🔋 少ない 🔋 やや多い
長時間ワークアウト ❌ 中断リスク ✅ 90分以上も完璧
ストレージ使用 📦 なし 📦 キャッシュファイル

各モードの使い分け

  • TTSモード:画面オンの短いワークアウト、待ち時間なしで即座に開始したい時に。
  • 持続モード:スマホをロックしたり、ポケットに入れたり、100%の信頼性が必要なワークアウトに。

Yay!Timerの機能を探索

Yay!Timerをダウンロード – インターバルを逃さない

持続オーディオモードの信頼性を体験。Yay!Timerを無料でダウンロードし、プレミアムにわずか¥520でアップグレード。

Yay!Timerを無料で入手