為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將自 2026 年起,在第 2 季和第 4 季將原始碼發布至 AOSP。如要建構及貢獻 AOSP,請使用 android-latest-release。android-latest-release 資訊清單分支版本一律會參照推送至 Android 開放原始碼計畫的最新版本。詳情請參閱「Android 開放原始碼計畫變更」。
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
暫停期間管理音訊資源
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
為確保系統穩定性,並能進入暫停至 RAM (S2R) 或暫停至磁碟 (S2D) 等低功耗狀態,在電源轉換期間妥善管理音訊資源至關重要。
系統啟動暫停程序時,應用程式可能不會一律釋放音訊輸入或輸出串流。如果音訊串流處於啟用狀態,音訊子系統和底層硬體就無法進入閒置狀態,這可能會導致晶片系統 (SoC) 無法進入深層睡眠狀態。這會導致暫停嘗試失敗,並增加耗電量。
原始設備製造商 (OEM) 必須在音訊硬體抽象層 (HAL) 實作中,實作完善的回退機制,以處理暫停轉換期間的有效音訊串流。無論應用程式行為如何,這都是確保平台穩定性的必要條件。
應用程式應正確管理音訊資源,但系統無法依此進行基本電源狀態轉換。音訊 HAL 是適當的層級,可強制停用資源,確保系統能進入暫停狀態。建議您採用這種方法,以利進行穩健的電源管理。
實作電源管理
如要在 Audio HAL 中實作穩健的電源管理機制,請按照下列步驟操作:
偵測系統電源狀態變化,特別是轉換為暫停狀態。
系統準備暫停時,如果仍有任何音訊串流 (輸入和輸出) 處於啟用狀態,請進行干預:
- 釋放硬體輸出串流,並捨棄音訊架構的輸入資料。
- 釋放硬體輸入串流,並將無聲音訊傳送至架構。
這項 HAL 層級的動作可確保音訊硬體進入閒置狀態,即使應用程式尚未釋出音訊資源,系統也能順利暫停。
系統從暫停狀態恢復時,請將音訊子系統還原為有效狀態。這包括取消先前靜音的任何輸出串流,以及重新啟用輸入串流,讓應用程式繼續播放及擷取音訊。
對應用程式的影響
暫停期間的 HAL 層級音訊資源管理會對應用程式造成下列影響:
- 透明暫停:對於使用麥克風的應用程式,系統暫停 (進入 S2D 或 S2R) 是透明的。
- 轉移期間音訊靜音:啟動暫停轉移後,HAL 會將有效串流設為靜音。應用程式會繼續執行,但暫停期間只會收到靜音音訊。
- 自動繼續:系統恢復後,應用程式會自動開始接收或傳送真實音訊資料,不需要重新取得任何資源或執行復原動作。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2026-06-18 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-06-18 (世界標準時間)。"],[],[]]