Interakcja głosowa

Interfejs API usługi interakcji głosowej zapewnia abstrakcję różnych potencjalnych aplikacji sterowania głosem. Implementacje można tworzyć zgodnie ze wskazówkami opisanymi w artykule o programowaniu aplikacji. Treści w tym przewodniku po integracji opisują, jak zintegrować te aplikacje z określonym obrazem systemu Android Automotive (AAOS).

Terminologia

W tym przewodniku używamy tych terminów:

  • Dane o pomocy. Gdy rozpocznie się sesja interakcji głosowej, system może rejestrować widoki i zrzuty ekranu oraz przekazywać te informacje do sesji. Aplikacje mogą udostępniać dodatkowe informacje, implementując Activity#onProvideAssistData()Activity#onProvideAssistContent().
  • Tryb mówienia (PTT). Przycisk sterowania głosem, zwykle umieszczony na kierownicy.
  • RecognitionService (RS). Usługa rozpoznawania głosu używana przez aplikacje za pomocą interfejsu API SpeechRecognizer . Dokumenty VIA muszą zawierać zarówno VoiceInteractionService, jak i RecognitionService.
  • Dotknij, aby mówić (TTT). Przycisk sterowania głosem (zwykle w ramach interfejsu systemu). W Androidzie jest to też nazywane gesturem asystenta.
  • VoiceInteractionService. Uproszczona usługa systemowa zaimplementowana przez programistę VIA. Wybrana usługa jest powiązana z usługą systemową podczas uruchamiania i jest zawsze uruchomiona.
  • VoiceInteractionSession (VIS). Ta klasa zawiera logikę biznesową dotyczącą interakcji z użytkownikiem. Jest odpowiedzialny za wyświetlanie użytkownikowi stanu interakcji głosowej, obsługę żądań interfejsu VoiceInteractor oraz otrzymywanie danych o pomocy i zrzutach ekranu.
  • VoiceInteractionSessionService (VSS). Usługa będąca częścią VIA, odpowiedzialna za obsługę sesji interakcji głosowej. Ta usługa jest powiązana z usługą systemową Androida podczas interakcji głosowej z użytkownikiem. Cała logika biznesowa tej sesji jest zaimplementowana w klasie VoiceSession. Ta usługa jest gwarantowana tylko podczas sesji głosowej z jednym użytkownikiem.
  • Aplikacja do interakcji głosowej (VIA) aplikacja na Androida służąca do sterowania głosem (nazywana asystentem); Takie aplikacje można zidentyfikować, sprawdzając, czy w ich pliku manifestu znajduje się element VoiceInteractionService. W systemie można wybrać tylko jedną z tych aplikacji jako domyślną. Tylko aplikacja domyślna będzie aktywna (będzie powiązana z usługą systemową) i będzie odbiornikiem zdarzeń Push-To-Talk (PTT) lub Tap-To-Talk (TTT).

Obowiązki

Ta tabela opisuje obowiązki każdej ze stron.

producenci samochodów (OEM), AOSP Deweloperzy aplikacji
  • Utwórz zgodny system multimedialno-rozrywkowy z AAOS.
  • Wdrożyć wejście i wyjście audio, opcjonalnie z obsługą wykrywania słów kluczowych DSP.
  • Przyznaj uprawnienia systemowe usługom interakcji głosowej.
  • Przestrzegaj wymagań VoiceInteractionService dotyczących dostępu do ekranów ustawień aplikacji.
  • Definiowanie i ulepszanie interfejsów VoiceInteractionService i powiązanych interfejsów API.
  • Prześlij dokumentację interfejsu API, przykładowy kod i inne materiały pomocnicze deweloperom VIA.
  • Przekaż wskazówki dotyczące UX wraz z wymaganiami i zaleceniami.
  • Wdróż interfejsy VoiceInteractionService API, RecognitionService API i NotificationListenerService API (szczegółowe informacje znajdziesz w artykule o programowaniu aplikacji).
  • Udostępnianie dostosowywanego interfejsu użytkownika, który może być dostosowywany przez producentów OEM, aby pasował do każdego systemu projektowania samochodów.

Wymagania dotyczące UX

Producenci urządzeń oryginalnych ponoszą ostateczną odpowiedzialność za zapewnienie klientom dobrych wrażeń. Producenci OEM muszą zadbać o to, aby wszystkie wstępnie zainstalowane usługi interakcji głosowej spełniały wymagania opisane w wstępnie zainstalowanych asystentach: wskazówki dotyczące UX.

Podstawowe funkcje Asystenta

Aplikacja do interakcji głosowej w samochodach (VIA) wykonuje te czynności:

  • [MUST] Reagowanie na wywołania interakcji głosowej obsługiwane przez system (PTT, TTT).
  • [MUST] Wyświetl wizualną reprezentację postępów (np. słuchanie, przetwarzanie i realizację).
  • [WYMAGANIE] Używaj głosu lub dźwięków, aby sygnalizować zrozumienie i wykonanie żądań użytkownika.
  • [MUST] Służy do rozpoznawania mowy w innych aplikacjach (zob. SpeechRecognizer API).
  • [SHOULD] Odpowiedź na słowo-klucz.
  • [MAY] Wyświetlanie aktywności związanej z ustawieniami, w ramach której użytkownicy mogą konfigurować tę funkcję (np. uprawnienia, konfigurację słów kluczowych i logowanie).
  • [MAY] Obsługa danych pomocy (Intent#ACTION_ASSIST)
  • [MAY] Obsługa interakcji głosowych z Keyguard (ekran blokady).

Komponenty

Ogólnie rzecz biorąc, aplikacja do interakcji głosowej wchodzi w interakcje z tymi podmiotami:

Aktorzy głosowi

Rysunek 1. Aktorzy głosowi

Szczegóły:

  • VoiceInteractionManagerService. Ta usługa systemowa odpowiada za zarządzanie domyślnym interfejsem VIA i udostępnianie jego funkcji reszcie systemu.
  • RecognitionService. Ta usługa udostępnia funkcje rozpoznawania mowy innym aplikacjom w systemie.
  • SoundTrigger. Umożliwia zarządzanie słowami kluczowymi i jest dostępna dla VIA za pomocą funkcji AlwaysOnHotwordDetector.
  • MediaRecorder. Zapewnia dostęp do wejścia audio zarówno do wykrywania słów kluczowych (w przypadku korzystania z procesora) jak i do rozpoznawania mowy.
  • PhoneWindowManager/CarInputService. Te usługi odpowiadają (między innymi) za obsługę kluczowych zdarzeń, kierowanie PTT do VIA za pomocą VoiceInteractionManagerService.
  • User. Użytkownik wchodzi w interakcję z VIA za pomocą wyzwalaczy (PTT, TTT, Hotword) lub interfejsu Voice Plate.
  • CarService, Notifications, Media, Telephony, ContactsProvider itd.  Usługi i aplikacje używane przez VoiceInteractionSession do wykonywania poleceń użytkownika.

Pojęcia związane z motoryzacją

AAOS różni się od Androida w tych aspektach:

  • Oprócz standardowych funkcji Asystenta AAOS VIA może sterować funkcjami pojazdu (np. klimatyzacją, fotelami i oświetleniem wnętrza). Te funkcje można zintegrować za pomocą interfejsu CarPropertyManager API (więcej informacji znajdziesz w artykule Czytanie właściwości pojazdu), o ile producenci oryginalnego sprzętu prawidłowo skonfigurują dostęp zgodnie z opisem w załączniku z uprawnieniami.
  • Personalizacja i spójność są w przypadku branży motoryzacyjnej ważniejsze niż w przypadku jakiejkolwiek innej. Aby dowiedzieć się więcej o wdrażaniu tych wytycznych, zapoznaj się z artykułem Dostosowywanie.