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
| Name | Beschreibung |
|---|---|
| Recognize() |
Führt einen synchronen Spracherkennungsvorgang aus. |
| Recognize(TimeSpan) |
Führt einen synchronen Spracherkennungsvorgang mit einem angegebenen anfänglichen Stille-Timeoutzeitraum aus. |
Hinweise
Diese Methoden führen einen einzelnen synchronen Erkennungsvorgang aus. Die Erkennung führt diesen Vorgang für die geladene und aktivierte Spracherkennungsgrammatik aus.
Während eines Aufrufs dieser Methode kann die Erkennung die folgenden Ereignisse auslösen:
SpeechDetected. Wird ausgelöst, wenn die Erkennung Eingabe erkennt, die sie als Sprache identifizieren kann.
SpeechHypothesized. Wird ausgelöst, wenn die Eingabe eine mehrdeutige Übereinstimmung mit einer der aktiven Grammatiken erstellt.
SpeechRecognitionRejected oder SpeechRecognized. Wird ausgelöst, wenn die Erkennung einen Erkennungsvorgang abgeschlossen hat.
Die Erkennung löst das RecognizeCompleted Ereignis bei Verwendung einer der Recognize Methoden nicht aus.
Die Recognize Methoden geben ein RecognitionResult Objekt zurück, oder null wenn der Vorgang nicht erfolgreich ist oder die Erkennung nicht aktiviert ist.
Aus folgenden Gründen kann ein synchroner Erkennungsvorgang fehlschlagen:
Die Spracherkennung wird nicht erkannt, bevor die Timeoutintervalle für die BabbleTimeout Oder InitialSilenceTimeout Eigenschaften oder für den
initialSilenceTimeoutParameter der Recognize Methode ablaufen.Das Erkennungsmodul erkennt die Sprache, findet jedoch keine Übereinstimmungen in einem der geladenen und aktivierten Grammar Objekte.
Wenn Sie ändern möchten, wie die Erkennung die Anzeigedauer von Sprache oder Stille in Bezug auf die Erkennung behandelt, verwenden Sie die Eigenschaften , , InitialSilenceTimeoutund verwenden EndSilenceTimeoutAmbiguousEndSilenceTimeoutSie dieseBabbleTimeout.
Das SpeechRecognitionEngine Muss mindestens ein Grammar Objekt geladen haben, bevor die Erkennung ausgeführt wird. Zum Laden einer Spracherkennungsgrammatik verwenden Sie die LoadGrammar oder LoadGrammarAsync die Methode.
Verwenden Sie eine der RecognizeAsync Methoden, um eine asynchrone Erkennung durchzuführen.
Recognize()
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
- 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 ist oder die Erkennung nicht aktiviert ist.
Beispiele
Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Das Beispiel erstellt einen DictationGrammar, lädt ihn in eine prozessinterne Spracherkennung und führt einen Erkennungsvorgang aus.
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 geladene und aktivierte Spracherkennungsgrammatik aus.
Während eines Aufrufs dieser Methode kann die Erkennung die folgenden Ereignisse auslösen:
SpeechDetected. Wird ausgelöst, wenn die Erkennung Eingabe erkennt, die sie als Sprache identifizieren kann.
SpeechHypothesized. Wird ausgelöst, wenn die Eingabe eine mehrdeutige Übereinstimmung mit einer der aktiven Grammatiken erstellt.
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.
Aus folgenden Gründen kann ein synchroner Erkennungsvorgang fehlschlagen:
Die Spracherkennung wird nicht erkannt, bevor die Timeoutintervalle für die oder InitialSilenceTimeout die BabbleTimeout Eigenschaften ablaufen.
Das Erkennungsmodul erkennt die Sprache, findet jedoch keine Übereinstimmungen in einem der geladenen und aktivierten Grammar Objekte.
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
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
Führt einen synchronen Spracherkennungsvorgang mit einem angegebenen anfänglichen Stille-Timeoutzeitraum 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 Zeitintervall, in dem eine Spracherkennung Eingaben akzeptiert, die nur Stille enthalten, bevor die Erkennung abgeschlossen wird.
Gibt zurück
Das Erkennungsergebnis für die Eingabe oder null wenn der Vorgang nicht erfolgreich ist oder die Erkennung nicht aktiviert ist.
Beispiele
Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Das Beispiel erstellt einen DictationGrammar, lädt ihn in eine prozessinterne Spracherkennung und führt einen Erkennungsvorgang aus.
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 das Spracherkennungsmodul die Sprache innerhalb des durch initialSilenceTimeout Argument angegebenen Zeitintervalls erkennt, Recognize(TimeSpan) führt sie einen einzelnen Erkennungsvorgang aus und beendet sie 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 Eingabe erkennt, die sie als Sprache identifizieren kann.
SpeechHypothesized. Wird ausgelöst, wenn die Eingabe eine mehrdeutige Übereinstimmung mit einer der aktiven Grammatiken erstellt.
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.
Aus folgenden Gründen kann ein synchroner Erkennungsvorgang fehlschlagen:
Die Spracherkennung wird nicht erkannt, bevor die Timeoutintervalle für den BabbleTimeout Parameter oder für den
initialSilenceTimeoutParameter ablaufen.Das Erkennungsmodul erkennt die Sprache, findet jedoch keine Übereinstimmungen in einem der geladenen und aktivierten Grammar Objekte.
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)