L'API Voice Interaction Service fournit une abstraction sur différents 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. Lorsque vous démarrez une session d'interaction vocale, le système peut capturer des vues et des captures d'écran, et transmettre ces informations à la session. Les applications peuvent fournir des informations supplémentaires
Activity#onProvideAssistData()
etActivity#onProvideAssistContent()
. - PTT (Push-to-Talk) Bouton de commande vocale physique, généralement situé sur le volant.
- RecognitionService (RS) : Service de reconnaissance vocale utilisé par
via l'API
SpeechRecognizer
. Les VIA doivent inclure à la foisVoiceInteractionService
etRecognitionService
. - Appuyer pour parler Bouton de commande vocale logicielle, généralement incluses dans l'UI 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é à partir du service système au démarrage et est toujours en cours d'exécution.- 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, la gestion des requêtes VoiceInteror et la réception d'assistance et de capture d'écran.
- VoiceInteractionSessionService (VSS) : Service faisant partie d'un IVR, chargé de gérer une session d'interaction vocale. Ce service est lié
à partir du service système d'Android lors
d'une interaction vocale avec un utilisateur. Tout
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 : Application Android conçue pour servir de commande vocale (appelée assistant). Ces applications peuvent
être identifiés en incluant un
VoiceInteractionService
dans leur fichier manifeste. Vous ne pouvez sélectionner par défaut qu'une seule de ces applications à la fois dans le système. Seule l'application par défaut sera maintenue active (liée à un service système). sera le destinataire de la fonctionnalité Push-to-Talk (PTT) ; ou les événements 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 avec 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] Afficher une représentation visuelle de sa progression (par exemple, écouter, de traitement et d'exécution).
- [OBLIGATOIRE] Utiliser une voix ou des sons pour indiquer que l'utilisateur a compris et satisfait requêtes.
- [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é.
- [MAI] Afficher une activité de paramétrage permettant aux utilisateurs de 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 la protection du clavier (écran de verrouillage).
Composants
De manière générale, une application d'interaction vocale interagit avec les acteurs suivants:
Figure 1 : Acteurs avec interaction vocale
Informations détaillées :
VoiceInteractionManagerService
Ce service système est chargé de la gestion de l'IVA par défaut et 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 de mot clé (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 à l'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 le véhicule (CVC, sièges et éclairages intérieurs, par exemple). 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.