Sous-système principal : DictationSubsystem — MRTK3
Notes
Pour obtenir des informations générales sur les sous-systèmes dans MRTK3, consultez cette page.
Le package Core Definitions fournit DictationSubsystem
, une implémentation de base de MRTKSubsystem
et IDictationsystem
qui sert de base aux sous-systèmes responsables de la dictée dans MRTK3. L’implémentation concrète fournie dans le cadre de MRTK, comme et d’autres sous-systèmes de dictée potentiels que WindowsDictationSubsystem
vous pouvez créer, doit être basée sur cette classe. Les sous-systèmes hérités de vous permettent de DictationSubsystem
démarrer et d’arrêter une session de dictée et fournissent des événements qui sont déclenchés lors du traitement de l’entrée vocale, lorsqu’un résultat final est reconnu et lorsqu’une session de dictée est terminée ou défectueuse. Des gestionnaires d’événements peuvent être ajoutés à ces événements pour gérer la fonctionnalité de dictée.
Pour des informations plus spécifiques, consultez la documentation de l’implémentation DictationSubsystem
concrète.
Programme d’installation
Notes
Ce guide décrit les étapes pour activer un sous-système vocal dans un nouveau projet MRTK (avec une autre configuration non vocale de base en place). Si vous utilisez notre exemple de projet, vous pouvez noter que certaines étapes ont été effectuées pour vous.
1. Activer le sous-système vocal
Accédez à Paramètres >du projetMRTK3Sous-systèmes MRTK disponibles, puis activez le sous-système de dictée que vous souhaitez utiliser.
2. Affecter une ressource de configuration
Pour certains sous-systèmes, une ressource de configuration est nécessaire pour qu’elle fonctionne normalement.
- Cliquez sur le sous-système que vous avez activé dans la configuration 1.
- Vérifiez qu’un emplacement vide
Configuration Asset
s’affiche sous Subsystem Details à droite. Si c’est le cas, créez une configuration en sélectionnant Assets ->CreateMRTK>Subsystems>[nom de votre sous-système] Config, puis faites glisser la configuration créée sur l’emplacement. - Après avoir vérifié que l’emplacement de configuration est rempli, modifiez les paramètres dans la configuration nouvellement créée pour votre projet spécifique. N’oubliez pas d’enregistrer le projet quand vous avez terminé.
3. Vérifiez que les fonctionnalités appropriées sont définies dans Paramètres du lecteur
Différentes implémentations de DictationSubsystem
ont différentes fonctionnalités requises. Pour plus d’informations, consultez la documentation du sous-système que vous voulez utiliser.
Par exemple, pour utiliser WindowsDictationSubsystem
sur une plateforme UWP, accédez à Project Settings>Player>Publishing Settings>Capabilities et vérifiez que la fonctionnalité Microphone est définie.
4. Exécution de la scène sur l’appareil/dans l’éditeur
Le projet doit maintenant être prêt pour exécution sur un appareil ou dans un éditeur. Notez que vous devrez peut-être configurer vos paramètres de confidentialité vocale pour que la dictée fonctionne dans l’éditeur.
Utilisation de DictationSubsystem
Pour utiliser DictationSubsystem
dans un script, ajoutez des gestionnaires d’événements aux événements de dictée auquel vous souhaitez répondre, puis appelez StartDictation
.
// Get the first running dictation subsystem.
DictationSubsystem dictationSubsystem = XRSubsystemHelpers.GetFirstRunningSubsystem<DictationSubsystem>();
// If we found one...
if (dictationSubsystem != null)
{
// Add event handlers to all dictation subsystem events.
dictationSubsystem.Recognizing += DictationSubsystem_Recognizing;
dictationSubsystem.Recognized += DictationSubsystem_Recognized;
dictationSubsystem.RecognitionFinished += DictationSubsystem_RecognitionFinished;
dictationSubsystem.RecognitionFaulted += DictationSubsystem_RecognitionFaulted;
// And start dictation
dictationSubsystem.StartDictation();
}
Vous implémentez ces gestionnaires d’événements avec tout ce que vous voulez se produire lorsque l’événement est déclenché.
Recognizing
est déclenché lorsque le module de reconnaissance traite l’entrée et retourne un résultat provisoire.Recognized
est déclenché lorsque le module de reconnaissance a reconnu l’entrée et retourne un résultat final.RecognitionFinished
est déclenché lorsque la session de reconnaissance est terminée et retourne une raison.RecognitionFaulted
est déclenché lorsque la reconnaissance est défaillante (c’est-à-dire qu’une erreur s’est produite) et retourne une raison.
Lorsque vous avez terminé, supprimez ces gestionnaires d’événements.
if (dictationSubsystem != null)
{
dictationSubsystem.StopDictation();
dictationSubsystem.Recognizing -= DictationSubsystem_Recognizing;
dictationSubsystem.Recognized -= DictationSubsystem_Recognized;
dictationSubsystem.RecognitionFinished -= DictationSubsystem_RecognitionFinished;
dictationSubsystem.RecognitionFaulted -= DictationSubsystem_RecognitionFaulted;
}
Vous trouverez un exemple complet d’utilisation DictationSubsystem
dans l’exemple de DictationHandler
script de l’exemple de DictationExample
scène.