🔧 技術深入剖析

Yay!Timer 持續模式技術

語音播報永不中斷的背後技術——即使螢幕關閉、應用程式在背景或手機鎖定也能運作。

為什麼 Android 會中斷計時器語音播報

😤

螢幕鎖定時計時器失效

您正在進行 15 分鐘的高強度 HIIT 訓練。您放下手機、鎖定螢幕,專注於波比跳。然後……一片寂靜。語音播報停止了。您錯過了三個間歇段落,完全不知道訓練進行到哪裡了。

這是因為 Android 會積極管理背景應用程式以節省電池。當螢幕關閉時,作業系統可能會暫停或終止在背景運行的應用程式——包括您的計時器。

Android Doze 模式與背景應用程式限制

🔋

電池最佳化

Android 限制背景應用程式的 CPU 時間和網路存取,以延長電池壽命。

💤

Doze 模式

當手機靜止且螢幕關閉時,Android 進入 Doze 模式,延遲背景作業。

🎵

音訊焦點

當其他應用程式播放聲音或系統決定優先處理其他音訊時,應用程式可能會失去音訊焦點。

🗣️

TTS 引擎限制

文字轉語音需要應用程式保持「活動」狀態,才能即時請求語音合成。

預先生成音訊:持續模式解決方案

✅

預先生成音訊檔案技術

Yay!Timer 的持續模式不是在運動期間即時生成語音播報,而是在您開始運動之前預先生成完整的音訊軌道。所有語音播報、倒數計時和靜音間隔都合併成一個音訊檔案,持續播放——就像播放音樂一樣。

持續模式音訊生成步驟

1

例程分析

當您點擊開始時,Yay!Timer 會分析您的整個例程——每個間歇段落、組數和重複次數。它會精確計算每個語音播報應該播放的時間點。

2

TTS 預先生成

使用您裝置的 TTS 引擎將每個獨特的播報文字轉換為音訊。重複的文字(如在多個間歇段落中出現的「運動」)只生成一次並重複使用,最大限度減少生成時間。

3

音訊編碼

TTS 音訊片段和計算的靜音間隔會合併並編碼。60 分鐘以內的例程使用 WAV 格式以確保相容性。較長的例程使用高效的 AAC 編碼,保持檔案大小可控。

4

媒體播放器播放

生成的音訊透過 Android 的媒體播放器 API 播放——與播放音樂使用相同的系統。這賦予音訊高優先權,即使螢幕關閉或其他應用程式在前景也能繼續播放。

5

間歇同步

精確的間歇映射將音訊時間戳與您的訓練間歇段落關聯。當您向前或向後跳轉時,音訊會準確跳轉到該間歇段落的對應位置。UI 與音訊時間軸保持完美同步。

音訊快取與 AAC 編碼細節

📁

智慧音訊檔案快取

生成的音訊檔案會安全地快取在您的裝置上。如果您再次運行相同的例程,會重複使用快取的檔案——無需重新生成。只有在您修改例程時才會生成新的音訊檔案。

⚡ 第二次運行立即開始

🎵

WAV 與 AAC 格式選擇

60 分鐘以內的訓練使用 WAV 格式確保最大相容性。較長的例程(如 90 分鐘的教練課程)使用 AAC 編碼,在保持品質的同時減少檔案大小。

📊 90 分鐘例程 ≈ 5MB AAC

🔄

Tabata 片段重複使用快取

對於有重複間歇的例程(如 Tabata 的 8 個相同回合),編碼器會在同一工作階段中快取並重複使用預先編碼的片段,大幅減少生成時間。

🏃 Tabata 快取命中率 50%

🎯

毫秒級計時精度

間歇映射系統以毫秒精度追蹤播報位置。跳轉操作會精確落在每個間歇段落播報的開始位置。

🎯 計時誤差 <0.02%

Yay!Timer 設定中的音訊模式選擇

電池節省設定中的音訊模式選擇

TTS 模式與持續模式比較

功能 TTS 模式(免費) 持續模式(進階版)
螢幕關閉 ❌ 可能停止 ✅ 繼續運作
應用程式在背景 ❌ 可能停止 ✅ 繼續運作
手機鎖定 ❌ 可能停止 ✅ 繼續運作
啟動時間 ⚡ 即時 ⏳ 短暫生成(首次運行)
電池使用 🔋 較低 🔋 稍高
長時間訓練 ❌ 有中斷風險 ✅ 90 分鐘以上完美運作
使用的儲存空間 📦 無 📦 快取音訊檔案

何時使用各模式

  • TTS 模式:螢幕開啟的短時間訓練,需要即時開始且無等待時間時。
  • 持續模式:任何您可能鎖定手機、將手機放入口袋或需要 100% 可靠性的訓練。

探索 Yay!Timer 功能

下載 Yay!Timer – 永不錯過任何間歇

體驗持續音訊模式的可靠性。免費下載 Yay!Timer,只需 NT$98 即可升級至進階版。

免費下載 Yay!Timer