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.

  1. Cliquez sur le sous-système que vous avez activé dans la configuration 1.
  2. 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.
  3. 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.