關於語音交互

語音互動服務 API 提供了不同潛在語音控制應用程式的抽象。可以按照應用程式開發中描述的指南來開發實作。本整合指南中的內容介紹如何將這些應用程式整合到特定的 Android Automotive OS (AAOS) 系統映像中。

術語

本指南中使用了這些術語:

  • 輔助數據。當語音互動會話啟動時,系統能夠擷取視圖和螢幕截圖,並將此資訊傳遞給會話。應用程式可以透過實作Activity#onProvideAssistData()Activity#onProvideAssistContent()公開其他資訊。
  • 一鍵通 (PTT) 。實體語音控制按鈕,通常位於方向盤上。
  • 識別服務(RS)。應用程式透過SpeechRecognizer API 使用語音辨識服務。 VIA 必須包含VoiceInteractionServiceRecognitionService
  • 點選通話 (TTT) 。軟體語音控制按鈕,通常包含在系統 UI 中)。在 Android 中,這也稱為輔助手勢
  • VoiceInteractionService 。由VIA開發商實現的輕量級系統服務。所選服務在啟動時與系統服務綁定,並且始終運作。
  • 語音互動會話 (VIS)。此類別封裝了使用者互動的業務邏輯。它負責向用戶呈現語音互動的狀態、處理 VoiceInteractor 請求並接收幫助和螢幕截圖資料。
  • 語音互動會話服務 (VSS)。一項服務,VIA 的一部分,負責處理語音互動會話。該服務在與用戶進行語音互動時與Android的系統服務綁定。該會話的所有業務邏輯都在VoiceSession類別中實作。此服務僅保證在單一使用者語音會話期間保持活動狀態。
  • 語音互動應用程式(VIA)。 Android應用程式設計用作語音控制(稱為助手)。可以透過在其清單中包含VoiceInteractionService來識別這些應用程式。系統中一次只能選擇其中一個應用程式作為預設應用程式。只有預設應用程式將保持活動狀態(從系統服務綁定),並將成為按鍵通話 (PTT)點擊通話 (TTT)事件的接收者。

職責

表中描述了各方的責任。

汽車製造商 (OEM) AOSP應用程式開發人員
  • 建構與 AAOS相容的資訊娛樂系統。
  • 實現音頻輸入和輸出,可選地包括 DSP 熱詞檢測支援。
  • 授予語音互動服務的系統特權。
  • 尊重VoiceInteractionService有關存取應用程式設定畫面的要求。
  • 定義並發展VoiceInteractionService和相關 API。
  • 向威盛開發人員提供 API 文件、範例程式碼和其他支援材料。
  • 提供包含要求和建議的使用者體驗指南。
  • 實作VoiceInteractionService API、RecognitionService API和NotificationListenerService API(詳細描述請參考應用程式開發)。
  • 提供可自訂的 UI,原始設備製造商 (OEM) 可以對其進行調整以匹配每個汽車設計系統。

使用者體驗要求

OEM 負有為客戶提供良好使用者體驗的最終責任。 OEM 必須確保所有預先安裝的語音互動服務符合預先安裝助理:UX 指南中所述的要求。

核心助理經驗

汽車語音互動應用程式 (VIA) 執行以下操作:

  • [必須] 回應系統處理的語音互動觸發器(PTT、TTT)。
  • [必須] 以視覺方式展示他們的進度(例如,傾聽、處理和實現)。
  • [必須] 使用語音或聲音來表示理解並完成使用者請求。
  • [必須] 充當其他應用程式的語音辨識器(請參閱SpeechRecognizer API )。
  • [應該] 響應熱詞觸發。
  • [可以] 顯示一個設定活動,使用者可以在其中配置此 VIA(例如,權限、熱詞配置和登入)。
  • [可以] 處理輔助資料( Intent#ACTION_ASSIST
  • [可能] 支援 Keyguard(鎖定螢幕)語音互動。

成分

在較高層面上,語音互動應用程式與這些參與者互動:

語音互動演員

圖 1.語音互動參與者

細節:

  • VoiceInteractionManagerService 。此系統服務負責管理預設 VIA,並將其功能公開給系統的其餘部分。
  • RecognitionService 。該服務向系統中的其他應用程式公開語音辨識功能。
  • SoundTrigger 。實作熱詞管理,並可透過 AlwaysOnHotwordDetector 供 VIA 使用。
  • MediaRecorder 。提供音訊輸入的存取以進行熱詞檢測(使用 CPU 時)和語音識別。
  • PhoneWindowManager / CarInputService 。這些服務負責(除其他外)處理關鍵事件,透過VoiceInteractionManagerService將 PTT 路由到 VIA。
  • User .使用者透過觸發器(PTT、TTT、Hotword)或語音板 UI 與 VIA 互動。
  • CarService、通知、媒體、電話、ContactsProvider 等。 VoiceInteractionSession 使用的服務和應用程式來完成使用者的命令。

汽車特定概念

AAOS 在以下方面與 Android 有所不同:

  • 除了正常的助手功能外,AAOS VIA 還可以控制車輛功能(例如 HVAC、座椅和車內燈)。如果 OEM 依照特權權限白名單中所述正確配置存取權限,則可以使用 CarPropertyManager API 整合這些功能(請參閱讀取車輛屬性以了解更多資訊)。
  • 客製化和一致性在汽車領域比在任何其他外形因素中更重要。請參閱自訂以了解有關實施這些準則的詳細資訊。