L'API Voice Interaction Service fournit une abstraction sur différentes applications de commande vocale potentielles. Les implémentations peuvent être développées en suivant les consignes décrites dans la section Développement d'applications. Le contenu de ce guide d'intégration explique comment intégrer ces applications dans une image système Android Automotive OS (AAOS) spécifique.
Terminologie
Les termes suivants sont utilisés dans ce guide:
- Données d'assistance. Lorsqu'une session d'interaction vocale est lancée, le système peut capturer des vues et des captures d'écran, et transmettre ces informations à la session. Les applications peuvent exposer des informations supplémentaires en implémentant
Activity#onProvideAssistData()
etActivity#onProvideAssistContent()
. - Appuyer pour parler (PTT) Bouton de commande vocale physique, généralement situé sur le volant.
- RecognitionService (RS) Service de reconnaissance vocale utilisé par les applications via l'API
SpeechRecognizer
. Les VIA doivent inclure à la foisVoiceInteractionService
etRecognitionService
. - Appuyer pour parler Bouton de commande vocale logicielle, généralement inclus dans l'interface utilisateur du système) Sur Android, il est également appelé geste d'assistance.
VoiceInteractionService
: service système léger implémenté par le développeur VIA. Le service sélectionné est lié au service système au démarrage et s'exécute en permanence.- VoiceInteractionSession (VIS) Cette classe encapsule la logique métier d'interaction utilisateur. Il est chargé de présenter à l'utilisateur l'état de l'interaction vocale, de gérer les requêtes VoiceInteractor et de recevoir des données d'assistance et de capture d'écran.
- VoiceInteractionSessionService (VSS) Service, qui fait partie d'un VIA, chargé de gérer une session d'interaction vocale. Ce service est lié au service système d'Android lors d'une interaction vocale avec un utilisateur. Toute la logique métier de cette session est implémentée dans la classe
VoiceSession
. La durée de vie de ce service n'est garantie que pendant une session vocale d'un seul utilisateur. - Application d'interaction vocale (VIA) Application Android conçue pour servir de commande vocale (appelée assistant). Ces applications peuvent être identifiées en incluant un
VoiceInteractionService
dans leur fichier manifeste. Vous ne pouvez sélectionner qu'une seule de ces applications comme application par défaut à la fois dans le système. Seule l'application par défaut sera maintenue active (liée à partir d'un service système) et recevra les événements PTT (Push-To-Talk) ou TTT (Tap-To-Talk).
Responsabilités
Ce tableau décrit les responsabilités de chaque partie.
Constructeurs automobiles (OEM) | AOSP | Développeurs d'applications |
---|---|---|
|
|
|
Exigences relatives à l'expérience utilisateur
C'est aux OEM qu'incombe la responsabilité ultime de fournir une bonne expérience utilisateur aux clients. Les OEM doivent s'assurer que tous les services d'interaction vocale préinstallés répondent aux exigences décrites dans la section Assistants préchargés: consignes relatives à l'expérience utilisateur.
Expérience de base de l'Assistant
Une application d'interaction vocale pour l'automobile effectue les actions suivantes:
- [OBLIGATOIRE] Répondre aux déclencheurs d'interaction vocale gérés par le système (PTT, TTT).
- [OBLIGATOIRE] Affichez une représentation visuelle de la progression (par exemple, écoute, traitement et traitement).
- [DOIT] Utiliser la voix ou des sons pour indiquer la compréhension et l'exécution des requêtes de l'utilisateur.
- [OBLIGATOIRE] Servir de système de reconnaissance vocale pour d'autres applications (voir l'API SpeechRecognizer).
- [DEVOIR] Répondre à un déclencheur de mot clé.
- [MAY] Afficher une activité de paramètres dans laquelle les utilisateurs peuvent configurer cette VIA (par exemple, les autorisations, la configuration des mots clés et la connexion).
- [MAI] Gérer les données d'assistance (
Intent#ACTION_ASSIST
) - [MAI] Prise en charge de l'interaction vocale depuis le clavier de verrouillage (écran de verrouillage).
Composants
De manière générale, une application d'interaction vocale interagit avec les acteurs suivants:
Figure 1 : Acteurs d'interaction vocale
Informations détaillées :
VoiceInteractionManagerService
. Ce service système est responsable de la gestion de la VIA par défaut et de l'exposition de ses fonctionnalités au reste du système.RecognitionService
: ce service expose les fonctionnalités de reconnaissance vocale aux autres applications du système.SoundTrigger
. Implémente la gestion des mots clés et est disponible pour les VIA via AlwaysOnHotwordDetector.MediaRecorder
: permet d'accéder à l'entrée audio à la fois pour la détection des mots clés (lorsque vous utilisez le processeur) et la reconnaissance vocale.PhoneWindowManager
/CarInputService
. Ces services sont chargés (entre autres) de gérer les événements clés, de router le PTT vers le VIA, à l'aide deVoiceInteractionManagerService
.User
: l'utilisateur interagit avec un VIA à l'aide de déclencheurs (PTT, TTT, mot clé) ou de l'UI de la plaque vocale.- CarService, Notifications, Media, Telephony, ContactsProvider, etc. Services et applications utilisés par VoiceInteractionSession pour exécuter les commandes de l'utilisateur.
Concepts spécifiques au secteur automobile
AAOS diffère d'Android sur les points suivants:
- En plus des fonctionnalités normales de l'Assistant, les VIA AAOS peuvent contrôler les fonctions du véhicule (par exemple, le système de chauffage, de ventilation et de climatisation, les sièges et les lumières intérieures). Ces fonctionnalités peuvent être intégrées à l'aide de l'API CarPropertyManager (pour en savoir plus, consultez Lire une propriété de véhicule) à condition que les OEM configurent l'accès correctement, comme décrit dans la section Liste d'autorisation d'autorisations privilégiées.
- La personnalisation et la cohérence sont plus pertinentes dans le secteur automobile que dans tout autre facteur de forme. Pour en savoir plus sur l'implémentation de ces consignes, consultez la section Personnalisation.