Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Allgemeine Informationen zu Subsystemen in MRTK3 finden Sie hier.
Das Kerndefinitionspaket wird ausgeliefert DictationSubsystem
, eine Basisimplementierung von MRTKSubsystem
und IDictationsystem
die als Basis von Subsystemen dient, die für das Diktieren in MRTK3 verantwortlich sind. Konkrete Implementierung, die als Teil von MRTK geliefert wird, z WindowsDictationSubsystem
. B. und andere potenzielle Diktiersubsysteme, die Sie erstellen können, sollten alle auf dieser Klasse basieren. Subsysteme, von DictationSubsystem
denen Sie erben, ermöglichen es Ihnen, eine Diktiersitzung zu starten und zu beenden, und stellt Ereignisse bereit, die ausgelöst werden, wenn die Spracheingabe verarbeitet wird, wenn ein Endergebnis erkannt wird und wenn eine Diktiersitzung beendet oder fehlerhaft ist. Ereignishandler können diesen Ereignissen hinzugefügt werden, um die Diktierfunktion zu behandeln.
Weitere Informationen finden Sie in der Dokumentation der konkreten DictationSubsystem
-Implementierung, die Sie verwenden möchten.
Setup
Hinweis
Dieser Leitfaden enthält Schritte zum Aktivieren eines Sprachsubsystems in einem neuen MRTK-Projekt (bei dem ein anderes grundlegendes, nicht sprachbezogenes Setup implementiert ist). Wenn Sie unser Beispielprojekt verwenden, werden Sie bemerken, dass einige Schritte bereits für Sie ausgeführt wurden.
1. Aktivieren des Sprachsubsystems
Wechseln Sie zu Den Projekteinstellungen>MRTK3 Verfügbare MRTK-Subsysteme, und aktivieren Sie dann das Diktiersubsystem, das Sie verwenden möchten.
2. Zuweisen einer Konfigurationsressource
Für bestimmte Subsysteme ist eine Konfigurationsressource erforderlich, damit sie normal ausgeführt werden können.
- Klicken Sie auf das Subsystem, das Sie in Setup 1 aktiviert haben.
- Überprüfen Sie, ob ein leerer
Configuration Asset
Steckplatz auf der rechten Seite unter Subsystemdetails angezeigt wird. Falls ja, erstellen Sie eine neue Konfiguration, indem Sie "Assets ->Create MRTK>Subsystems>[name of your subsystem]" (Teilsystemname) auswählen und dann die erstellte Konfiguration auf den Platz ziehen. - Nachdem Sie sich vergewissert haben, dass der Konfigurationssteckplatz gefüllt ist, ändern Sie die Einstellungen in der neu erstellten Konfiguration für Ihr bestimmtes Projekt. Denken Sie daran, das Projekt zu speichern, wenn Sie fertig sind.
3. Stellen Sie sicher, dass die richtigen Funktionen in den Spielereinstellungen festgelegt sind.
Für unterschiedliche Implementierungen von DictationSubsystem
sind unterschiedliche Funktionen erforderlich. Weitere Informationen finden Sie in der Dokumentation des Subsystems, das Sie verwenden möchten.
Wenn Sie beispielsweise WindowsDictationSubsystem
auf der UWP-Plattform verwenden möchten, wechseln Sie zu Projekteinstellungen>Player>Veröffentlichungseinstellungen>Funktionen, und vergewissern Sie sich, dass die Mikrofonfunktion festgelegt ist.
4. Ausführen der Szene auf dem Gerät/im Editor
Das Projekt sollte jetzt für die Ausführung auf dem Gerät oder im Editor bereit sein. Beachten Sie, dass Sie möglicherweise Ihre Datenschutzeinstellungen für Die Spracherkennung konfigurieren müssen, damit das Diktieren im Editor funktioniert.
Verwenden von DiktatSubsystem
DictationSubsystem
Fügen Sie ereignishandler zu den Diktierereignissen hinzu, auf die Sie reagieren möchten, und rufen Sie dann aufStartDictation
.
// 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();
}
Sie würden diese Ereignishandler mit dem implementieren, was Beim Auslösen des Ereignisses geschehen soll.
Recognizing
wird ausgelöst, wenn die Erkennung die Eingabe verarbeitet und ein vorläufiges Ergebnis zurückgibt.Recognized
wird ausgelöst, wenn die Erkennung die Eingabe erkannt hat und ein endgültiges Ergebnis zurückgibt.RecognitionFinished
wird ausgelöst, wenn die Erkennungssitzung abgeschlossen ist und einen Grund zurückgibt.RecognitionFaulted
wird ausgelöst, wenn die Erkennung fehlerhaft ist (d. h. Fehler aufgetreten) und gibt einen Grund zurück.
Wenn Sie fertig sind, entfernen Sie diese Ereignishandler.
if (dictationSubsystem != null)
{
dictationSubsystem.StopDictation();
dictationSubsystem.Recognizing -= DictationSubsystem_Recognizing;
dictationSubsystem.Recognized -= DictationSubsystem_Recognized;
dictationSubsystem.RecognitionFinished -= DictationSubsystem_RecognitionFinished;
dictationSubsystem.RecognitionFaulted -= DictationSubsystem_RecognitionFaulted;
}
Ein vollständiges Beispiel für die DictationHandler
Verwendung DictationSubsystem
finden Sie im Beispielskript in der DictationExample
Beispielszene.