Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Para información general sobre los subsistemas de MRTK3, consulte aquí.
El paquete Core Definitions incluye DictationSubsystem
, una implementación base de MRTKSubsystem
y IDictationsystem
que actúa como base de subsistemas responsables de dictado en MRTK3. La implementación concreta enviada como parte de MRTK, como WindowsDictationSubsystem
y otros subsistemas de dictado potenciales, podría compilarse en función de esta clase. Los subsistemas que heredan de DictationSubsystem
le permiten iniciar y detener una sesión de dictado y proporcionan eventos que se desencadenan cuando se procesa la entrada de voz, cuando se reconoce un resultado final y cuando se finaliza o se produce un error en una sesión de dictado. Los controladores de eventos se pueden agregar a estos eventos para controlar la funcionalidad de dictado.
Para información más específica, consulte la documentación relativa a la implementación concreta de DictationSubsystem
que quiera usar.
Configurar
Nota:
En esta guía se proporcionan los pasos necesarios para habilitar un subsistema de voz en un nuevo proyecto de MRTK (dando por hecho que ya se ha establecido alguna configuración básica no relacionada con la voz). Si usa nuestro proyecto de ejemplo, es posible que observe que algunos pasos se han realizado automáticamente.
1. Habilite el subsistema de voz
Vaya a Configuración del>proyecto MRTK3 Subsistemas de MRTK disponibles y, a continuación, habilite el subsistema de dictado que desea usar.
2. Asignar un recurso de configuración
Para que determinados subsistemas funcionen normalmente, estos requieren un recurso de configuración.
- Haga clic en el subsistema que habilitó en la configuración 1.
- Compruebe si aparece una ranura vacía
Configuration Asset
en Detalles del subsistema a la derecha. Si es así, cree una nueva configuración seleccionando Assets -Create MRTK Subsystems[name of your subsystem] Config (Activos:>Crear subsistemas> de MRTK>[nombre del subsistema] Config y arrastre la configuración creada a la ranura. - Después de asegurarse de que la ranura de configuración ya no esté vacía, cambie los parámetros de la configuración que acaba de crear para que se ajusten mejor al proyecto específico. No olvide guardar el proyecto cuando haya terminado.
3. Asegúrese de que las funcionalidades adecuadas están establecidas en Configuración del reproductor
Cada implementación del subsistema DictationSubsystem
requiere diferentes capacidades. Para más información, consulte la documentación relativa al subsistema que quiere usar.
Por ejemplo, para usar WindowsDictationSubsystem
en la plataforma UWP, vaya a Available MRTK Subsystems>Player>Publishing Settings>Capabilities y asegúrese de que la funcionalidad Micrófono está establecida.
4. Ejecución de la escena en el dispositivo o en el editor
Ahora, el proyecto estará listo para ejecutarse en un dispositivo o en el editor. Tenga en cuenta que es posible que tenga que configurar la configuración de privacidad de voz para que el dictado funcione en el editor.
Uso de DictationSubsystem
Para usarlo DictationSubsystem
en el script, agregue controladores de eventos a los eventos de dictado a los que desea responder y, a continuación, llame a 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();
}
Implementaría estos controladores de eventos con lo que quiera que suceda cuando se desencadene el evento.
Recognizing
se desencadena cuando el reconocedor está procesando la entrada y devuelve un resultado provisional.Recognized
se desencadena cuando el reconocedor reconoce la entrada y devuelve un resultado final.RecognitionFinished
se desencadena cuando finaliza la sesión de reconocimiento y devuelve un motivo.RecognitionFaulted
se desencadena cuando se produce un error en el reconocimiento (es decir, se produjo un error) y devuelve un motivo.
Cuando termine, quite estos controladores de eventos.
if (dictationSubsystem != null)
{
dictationSubsystem.StopDictation();
dictationSubsystem.Recognizing -= DictationSubsystem_Recognizing;
dictationSubsystem.Recognized -= DictationSubsystem_Recognized;
dictationSubsystem.RecognitionFinished -= DictationSubsystem_RecognitionFinished;
dictationSubsystem.RecognitionFaulted -= DictationSubsystem_RecognitionFaulted;
}
Puede encontrar un ejemplo completo del uso DictationSubsystem
en el DictationHandler
script de ejemplo de la DictationExample
escena de ejemplo.