SpeechRecognitionEngine.Recognize Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Startet einen synchronen Spracherkennungsvorgang.
Überlädt
Recognize() |
Führt einen synchronen Spracherkennungsvorgang aus. |
Recognize(TimeSpan) |
Führt einen synchronen Spracherkennungsvorgang mit einem angegebenen ursprünglichen Ruhetimeout aus. |
Hinweise
Diese Methoden führen einen einzelnen synchronen Erkennungsvorgang aus. Die Erkennung führt diesen Vorgang für die geladenen und aktivierten Spracherkennungsgrammatiken aus.
Während eines Aufrufs dieser Methode kann die Erkennung die folgenden Ereignisse auslösen:
SpeechDetected. Wird ausgelöst, wenn die Erkennung Eingaben erkennt, die sie als Sprache identifizieren kann.
SpeechHypothesized. Wird ausgelöst, wenn die Eingabe eine mehrdeutige Übereinstimmung mit einer der aktiven Grammatiken erzeugt.
SpeechRecognitionRejected oder SpeechRecognized. Wird ausgelöst, wenn die Erkennung einen Erkennungsvorgang abgeschlossen hat.
Die Erkennung löst das RecognizeCompleted Ereignis nicht aus, wenn eine der Recognize Methoden verwendet wird.
Die Recognize Methoden geben ein RecognitionResult -Objekt zurück, oder null
, wenn der Vorgang nicht erfolgreich ist oder die Erkennung nicht aktiviert ist.
Ein synchroner Erkennungsvorgang kann aus den folgenden Gründen fehlschlagen:
Die Spracherkennung wird erst erkannt, wenn die Timeoutintervalle für die BabbleTimeout Eigenschaften oder InitialSilenceTimeout oder für den
initialSilenceTimeout
Parameter der Recognize -Methode ablaufen.Die Erkennungs-Engine erkennt Sprache, findet jedoch keine Übereinstimmungen in den geladenen und aktivierten Grammar Objekten.
Verwenden Sie die Eigenschaften , InitialSilenceTimeoutEndSilenceTimeoutEndSilenceTimeoutAmbiguous , und, um zu ändern, wie die Erkennung die Zeitsteuerung von Sprache oder Stille in Bezug auf die BabbleTimeoutErkennung behandelt.
Der SpeechRecognitionEngine muss mindestens ein Grammar Objekt geladen haben, bevor die Erkennung ausgeführt wird. Verwenden Sie zum Laden einer Spracherkennungsgrammatik die - oder LoadGrammarAsync -LoadGrammarMethode.
Verwenden Sie eine der RecognizeAsync Methoden, um eine asynchrone Erkennung durchzuführen.
Recognize()
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
Führt einen synchronen Spracherkennungsvorgang aus.
public:
System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize ();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult
Gibt zurück
Das Erkennungsergebnis für die Eingabe oder null
, wenn der Vorgang nicht erfolgreich war oder die Erkennung nicht aktiviert ist.
Beispiele
Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Im Beispiel wird ein DictationGrammarerstellt, in eine Prozess-Spracherkennung geladen und ein Erkennungsvorgang ausgeführt.
using System;
using System.Speech.Recognition;
namespace SynchronousRecognition
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Modify the initial silence time-out value.
recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);
// Start synchronous speech recognition.
RecognitionResult result = recognizer.Recognize();
if (result != null)
{
Console.WriteLine("Recognized text = {0}", result.Text);
}
else
{
Console.WriteLine("No recognition result available.");
}
}
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
}
Hinweise
Diese Methode führt einen einzelnen Erkennungsvorgang aus. Die Erkennung führt diesen Vorgang für die geladenen und aktivierten Spracherkennungsgrammatiken aus.
Während eines Aufrufs dieser Methode kann die Erkennung die folgenden Ereignisse auslösen:
SpeechDetected. Wird ausgelöst, wenn die Erkennung Eingaben erkennt, die sie als Sprache identifizieren kann.
SpeechHypothesized. Wird ausgelöst, wenn die Eingabe eine mehrdeutige Übereinstimmung mit einer der aktiven Grammatiken erzeugt.
SpeechRecognitionRejected oder SpeechRecognized. Wird ausgelöst, wenn die Erkennung einen Erkennungsvorgang abgeschlossen hat.
Die Erkennung löst das RecognizeCompleted Ereignis bei Verwendung dieser Methode nicht aus.
Die Recognize() -Methode gibt ein RecognitionResult -Objekt zurück, oder null
, wenn der Vorgang nicht erfolgreich ist.
Ein synchroner Erkennungsvorgang kann aus den folgenden Gründen fehlschlagen:
Die Spracherkennung wird nicht erkannt, bevor die Timeoutintervalle für die BabbleTimeout Eigenschaften oder InitialSilenceTimeout ablaufen.
Die Erkennungs-Engine erkennt Sprache, findet jedoch keine Übereinstimmungen in den geladenen und aktivierten Grammar Objekten.
Verwenden Sie eine der RecognizeAsync Methoden, um eine asynchrone Erkennung durchzuführen.
Weitere Informationen
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Gilt für:
Recognize(TimeSpan)
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
Führt einen synchronen Spracherkennungsvorgang mit einem angegebenen ursprünglichen Ruhetimeout aus.
public:
System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize (TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult
Parameter
- initialSilenceTimeout
- TimeSpan
Das Zeitspanne, in der eine Spracherkennung eine tonlose Eingabe akzeptiert, bevor die Erkennung abgeschlossen wird.
Gibt zurück
Das Erkennungsergebnis für die Eingabe oder null
, wenn der Vorgang nicht erfolgreich war oder die Erkennung nicht aktiviert ist.
Beispiele
Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Im Beispiel wird ein DictationGrammarerstellt, in eine Prozess-Spracherkennung geladen und ein Erkennungsvorgang ausgeführt.
using System;
using System.Speech.Recognition;
namespace SynchronousRecognition
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start synchronous speech recognition.
RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));
if (result != null)
{
Console.WriteLine("Recognized text = {0}", result.Text);
}
else
{
Console.WriteLine("No recognition result available.");
}
}
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
}
Hinweise
Wenn die Spracherkennungs-Engine Sprache innerhalb des durch initialSilenceTimeout
das Argument angegebenen Zeitintervalls erkennt, Recognize(TimeSpan) führt einen einzelnen Erkennungsvorgang aus und beendet dann. Der initialSilenceTimeout
Parameter ersetzt die Eigenschaft der InitialSilenceTimeout Erkennung.
Während eines Aufrufs dieser Methode kann die Erkennung die folgenden Ereignisse auslösen:
SpeechDetected. Wird ausgelöst, wenn die Erkennung Eingaben erkennt, die sie als Sprache identifizieren kann.
SpeechHypothesized. Wird ausgelöst, wenn die Eingabe eine mehrdeutige Übereinstimmung mit einer der aktiven Grammatiken erzeugt.
SpeechRecognitionRejected oder SpeechRecognized. Wird ausgelöst, wenn die Erkennung einen Erkennungsvorgang abgeschlossen hat.
Die Erkennung löst das RecognizeCompleted Ereignis bei Verwendung dieser Methode nicht aus.
Die Recognize() -Methode gibt ein RecognitionResult -Objekt zurück, oder null
, wenn der Vorgang nicht erfolgreich ist.
Ein synchroner Erkennungsvorgang kann aus den folgenden Gründen fehlschlagen:
Die Spracherkennung wird nicht erkannt, bevor die Timeoutintervalle für oder BabbleTimeout für den
initialSilenceTimeout
-Parameter ablaufen.Die Erkennungs-Engine erkennt Sprache, findet jedoch keine Übereinstimmungen in den geladenen und aktivierten Grammar Objekten.
Verwenden Sie eine der RecognizeAsync Methoden, um eine asynchrone Erkennung durchzuführen.
Weitere Informationen
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)