Condividi tramite


Sottosistema principale: DictationSubsystem — MRTK3

Nota

Per informazioni generali sui sottosistemi in MRTK3, vedere qui.

Il pacchetto Core Definitions include DictationSubsystem, un'implementazione di base di MRTKSubsystem e IDictationsystem che funge da base di sottosistemi responsabili della dettatura in MRTK3. Implementazione concreta fornita come parte di MRTK come WindowsDictationSubsystem e altri sottosistemi di dettatura potenziali che è possibile compilare dovrebbero essere tutti basati su questa classe. I sottosistemi che ereditano da DictationSubsystem consentono di avviare e arrestare una sessione di dettatura e forniscono eventi che vengono attivati quando viene elaborato l'input vocale, quando viene riconosciuto un risultato finale e quando una sessione di dettatura viene completata o interrotta. I gestori eventi possono essere aggiunti a questi eventi per gestire la funzionalità di dettatura.

Per informazioni più specifiche, vedere la documentazione dell'implementazione concreta DictationSubsystem da usare.

Installazione

Nota

Questa guida illustra i passaggi per abilitare un sottosistema di riconoscimento vocale in un nuovo progetto MRTK (con altre configurazioni di base non correlate al riconoscimento vocale). Se si usa il progetto di esempio, è possibile notare che alcuni passaggi sono stati eseguiti per l'utente.

1. Abilitare il sottosistema vocale

Passare a Impostazioni> progettoMRTK3Sottosistemi MRTK disponibili e quindi abilitare il sottosistema di dettatura che si vuole usare.

2. Assegnare un asset di configurazione

Per determinati sottosistemi, è necessario un asset di configurazione per eseguirlo normalmente.

  1. Fare clic sul sottosistema abilitato nell'installazione 1.
  2. Controllare se uno slot vuoto Configuration Asset viene visualizzato in Dettagli sottosistema a destra. In tal caso, creare una nuova configurazione selezionando Asset ->Creasottosistemi>MRTK>[nome del sottosistema] Configurazione e quindi trascinando la configurazione creata nello slot.
  3. Dopo aver verificato che lo slot di configurazione sia popolato, modificare le impostazioni nella configurazione appena creata per il progetto specifico. Al termine, ricordarsi di salvare il progetto.

3. Assicurarsi che le funzionalità appropriate siano impostate in Impostazioni lettore

Diverse implementazioni di DictationSubsystem hanno diverse funzionalità necessarie. Per altre informazioni, vedere la documentazione del sottosistema che si vuole usare.

Ad esempio, per usare WindowsDictationSubsystem nella piattaforma UWP, passare a Impostazioni> progetto Impostazionilettore>Impostazioni pubblicazione>Funzionalità e assicurarsi che la funzionalità Microfono sia impostata.

4. Esecuzione della scena nel dispositivo/nell'editor

Il progetto dovrebbe ora essere pronto per l'esecuzione nel dispositivo o nell'editor. Si noti che potrebbe essere necessario configurare le impostazioni di privacy del riconoscimento vocale per il funzionamento della dettatura nell'editor.

Uso di DictationSubsystem

Per usare DictationSubsystem nello script, aggiungere gestori eventi agli eventi di dettatura a cui si vuole rispondere e quindi chiamare 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();
}

È necessario implementare questi gestori eventi con qualsiasi elemento che si vuole eseguire quando viene attivato l'evento.

  • Recognizing viene attivato quando il riconoscitore elabora l'input e restituisce un risultato provvisorio.
  • Recognized viene attivato quando il riconoscitore ha riconosciuto l'input e restituisce un risultato finale.
  • RecognitionFinished viene attivato al termine della sessione di riconoscimento e restituisce un motivo.
  • RecognitionFaulted viene attivato quando si verifica un errore di riconoscimento (ad esempio si è verificato un errore) e restituisce un motivo.

Al termine, rimuovere questi gestori eventi.

if (dictationSubsystem != null)
{
    dictationSubsystem.StopDictation();
    dictationSubsystem.Recognizing -= DictationSubsystem_Recognizing;
    dictationSubsystem.Recognized -= DictationSubsystem_Recognized;
    dictationSubsystem.RecognitionFinished -= DictationSubsystem_RecognitionFinished;
    dictationSubsystem.RecognitionFaulted -= DictationSubsystem_RecognitionFaulted;
}

Un esempio completo di uso DictationSubsystem è disponibile nello DictationHandler script di esempio nella DictationExample scena di esempio.