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.
- Fare clic sul sottosistema abilitato nell'installazione 1.
- 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. - 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.