Voice Interaction Service API 可提供不同潛在語音控制應用程式的抽象概念。您可以按照「應用程式開發」一文所述的規範開發實作項目。本整合指南的內容說明如何將這些應用程式整合至特定 Android Automotive OS (AAOS) 系統映像檔。
術語
本指南中使用的術語如下:
- 輔助資料。啟動語音互動工作階段時,系統可以擷取檢視畫面和螢幕截圖,並將這些資訊傳遞至工作階段。應用程式可以實作
Activity#onProvideAssistData()
和Activity#onProvideAssistContent()
,藉此公開其他資訊。 - 按住說話 (PTT)。實體語音控制按鈕,通常位於方向盤上。
- RecognitionService (RS)。應用程式透過
SpeechRecognizer
API 使用的語音辨識服務。VIA 必須同時包含VoiceInteractionService
和RecognitionService
。 - 輕觸通話 (TTT):軟體語音控制按鈕 (通常是系統 UI 的一部分)。在 Android 中,這也稱為「輔助手勢」。
VoiceInteractionService
:由 VIA 開發人員實作的輕量系統服務。系統會在開機時將所選服務與系統服務繫結,並持續執行。- VoiceInteractionSession (VIS)。這個類別會封裝使用者互動商業邏輯。負責向使用者顯示語音互動狀態、處理 VoiceInteractor 要求,以及接收 Assist 和螢幕截圖資料。
- VoiceInteractionSessionService (VSS)。服務 (屬於 VIA),負責處理語音互動工作階段。在與使用者進行語音互動期間,這項服務會從 Android 系統服務繫結。這個工作階段的所有商業邏輯都已在
VoiceSession
類別中實作。這項服務只保證在單一使用者的語音會話期間維持運作。 - 語音互動應用程式 (VIA)。設計用於語音控制的 Android 應用程式 (稱為「助理」)。只要在資訊清單中加入
VoiceInteractionService
,即可識別這類應用程式。系統中一次只能選取一個應用程式做為預設應用程式。只有預設應用程式會維持運作 (由系統服務繫結),並且會接收 Push-To-Talk (PTT) 或 Tap-To-Talk (TTT) 事件。
職責
下表說明各方的責任。
汽車製造商 (OEM) | Android 開放原始碼計劃 | 應用程式開發人員 |
---|---|---|
|
|
|
使用者體驗規定
OEM 廠商應負最終責任,為客戶提供良好的使用者體驗。原始設備製造商 (OEM) 必須確保所有預先安裝的語音互動服務都符合「預先載入的助理:使用者體驗指南」中所述的規定。
核心助理服務體驗
汽車語音互動應用程式 (VIA) 會執行下列動作:
- [必須] 回應系統處理的語音互動觸發事件 (PTT、TTT)。
- [必備] 以圖像化方式顯示進度 (例如聆聽、處理和執行)。
- [必須] 使用語音或聲音來表示您已瞭解並完成使用者要求。
- [必須] 做為其他應用程式的語音辨識器 (請參閱 SpeechRecognizer API)。
- [SHOULD] 回應啟動字詞觸發事件。
- [MAY] 顯示設定活動,讓使用者設定這項 VIA (例如權限、熱字詞設定和登入)。
- [MAY] 處理輔助資料 (
Intent#ACTION_ASSIST
) - [MAY] 支援透過螢幕鎖定畫面 (Keyguard) 進行語音互動。
元件
從大方向來看,語音互動應用程式會與下列角色互動:
圖 1. 語音互動動作
詳細資料:
VoiceInteractionManagerService
。這個系統服務負責管理預設 VIA,並將其功能公開給系統的其他部分。RecognitionService
。這項服務會將語音辨識功能公開給系統中的其他應用程式。SoundTrigger
:實作熱字詞管理功能,可透過 AlwaysOnHotwordDetector 提供給 VIA。MediaRecorder
:提供音訊輸入存取權,用於熱字詞偵測 (使用 CPU 時) 和語音辨識。PhoneWindowManager
/CarInputService
。這些服務負責處理關鍵事件,並透過VoiceInteractionManagerService
將 PTT 路由至 VIA。User
:使用者透過觸發條件 (PTT、TTT、熱字) 或 Voice Plate UI 與 VIA 互動。- CarService、Notifications、Media、Telephony、ContactsProvider 等等。 VoiceInteractionSession 用來執行使用者指令的服務和應用程式。
汽車專屬概念
AAOS 與 Android 的差異如下: