SpeechRecognitionEngine.EmulateRecognize 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.
Emuliert die Eingabe für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet.
Überlädt
EmulateRecognize(String) |
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emuliert die Eingabe bestimmter Wörter für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt. |
EmulateRecognize(String, CompareOptions) |
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt. |
Hinweise
Diese Methoden umgehen die Systemaudioeingabe und stellen text für die Erkennung als String Objekte oder als Array von RecognizedWordUnit Objekten bereit. Dies kann hilfreich sein, wenn Sie eine Anwendung oder Grammatik testen oder debuggen. Beispielsweise können Sie mithilfe der Emulation bestimmen, ob ein Wort in einer Grammatik enthalten ist und welche Semantik zurückgegeben wird, wenn das Wort erkannt wird. Verwenden Sie die SetInputToNull -Methode, um die Audioeingabe für die Spracherkennungs-Engine während Emulationsvorgängen zu deaktivieren.
Die Spracherkennung löst die SpeechDetectedEreignisse , SpeechHypothesized, SpeechRecognitionRejectedund SpeechRecognized aus, als ob der Erkennungsvorgang nicht emuliert wurde. Die Erkennung ignoriert neue Zeilen und zusätzliche Leerzeichen und behandelt interpunktion als Literaleingabe.
Hinweis
Das RecognitionResult objekt, das von der Spracherkennung als Reaktion auf emulierte Eingabe generiert wird, hat den Wert für null
seine Audio -Eigenschaft.
Verwenden Sie die -Methode, um die EmulateRecognizeAsync asynchrone Erkennung zu emulieren.
EmulateRecognize(String)
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet.
public:
System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText);
member this.EmulateRecognize : string -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String) As RecognitionResult
Parameter
- inputText
- String
Die Eingabe für den Erkennungsvorgang.
Gibt zurück
Das Ergebnis für den Erkennungsvorgang oder null
, wenn der Vorgang nicht erfolgreich war oder die Erkennung nicht aktiviert ist.
Ausnahmen
Die Erkennung hat keine geladenen Spracherkennungsgrammatiken.
inputText
ist null
.
inputText
ist die leere Zeichenfolge ("").
Beispiele
Das folgende Codebeispiel ist Teil einer Konsolenanwendung, die emulierte Eingaben, die zugeordneten Erkennungsergebnisse und die zugehörigen Ereignisse veranschaulicht, die von der Spracherkennung ausgelöst werden. Im Beispiel wird die folgende Ausgabe generiert.
TestRecognize("Smith")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Smith; Text = Smith
...Recognition result text = Smith
TestRecognize("Jones")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Jones; Text = Jones
...Recognition result text = Jones
TestRecognize("Mister")...
SpeechDetected event raised.
SpeechHypothesized event raised.
Grammar = Smith; Text = mister
SpeechRecognitionRejected event raised.
Grammar = <not available>; Text =
...No recognition result.
TestRecognize("Mister Smith")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Smith; Text = mister Smith
...Recognition result text = mister Smith
press any key to exit...
using System;
using System.Globalization;
using System.Speech.Recognition;
namespace Sre_EmulateRecognize
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
// Load grammars.
recognizer.LoadGrammar(CreateNameGrammar("Smith"));
recognizer.LoadGrammar(CreateNameGrammar("Jones"));
// Disable audio input to the recognizer.
recognizer.SetInputToNull();
// Add handlers for events raised by the EmulateRecognize method.
recognizer.SpeechDetected +=
new EventHandler<SpeechDetectedEventArgs>(
SpeechDetectedHandler);
recognizer.SpeechHypothesized +=
new EventHandler<SpeechHypothesizedEventArgs>(
SpeechHypothesizedHandler);
recognizer.SpeechRecognitionRejected +=
new EventHandler<SpeechRecognitionRejectedEventArgs>(
SpeechRecognitionRejectedHandler);
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
// Start four synchronous emulated recognition operations.
TestRecognize(recognizer, "Smith");
TestRecognize(recognizer, "Jones");
TestRecognize(recognizer, "Mister");
TestRecognize(recognizer, "Mister Smith");
}
Console.WriteLine("press any key to exit...");
Console.ReadKey(true);
}
// Create a simple name grammar.
// Set the grammar name to the surname.
private static Grammar CreateNameGrammar(string surname)
{
GrammarBuilder builder = new GrammarBuilder("mister", 0, 1);
builder.Append(surname);
Grammar nameGrammar = new Grammar(builder);
nameGrammar.Name = surname;
return nameGrammar;
}
// Send emulated input to the recognizer for synchronous recognition.
private static void TestRecognize(
SpeechRecognitionEngine recognizer, string input)
{
Console.WriteLine("TestRecognize(\"{0}\")...", input);
RecognitionResult result =
recognizer.EmulateRecognize(input,CompareOptions.IgnoreCase);
if (result != null)
{
Console.WriteLine("...Recognition result text = {0}",
result.Text ?? "<null>");
}
else
{
Console.WriteLine("...No recognition result.");
}
Console.WriteLine();
}
static void SpeechDetectedHandler(
object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine(" SpeechDetected event raised.");
}
// Handle events.
static void SpeechHypothesizedHandler(
object sender, SpeechHypothesizedEventArgs e)
{
Console.WriteLine(" SpeechHypothesized event raised.");
if (e.Result != null)
{
Console.WriteLine(" Grammar = {0}; Text = {1}",
e.Result.Grammar.Name ?? "<none>", e.Result.Text);
}
else
{
Console.WriteLine(" No recognition result available.");
}
}
static void SpeechRecognitionRejectedHandler(
object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine(" SpeechRecognitionRejected event raised.");
if (e.Result != null)
{
string grammarName;
if (e.Result.Grammar != null)
{
grammarName = e.Result.Grammar.Name ?? "<none>";
}
else
{
grammarName = "<not available>";
}
Console.WriteLine(" Grammar = {0}; Text = {1}",
grammarName, e.Result.Text);
}
else
{
Console.WriteLine(" No recognition result available.");
}
}
static void SpeechRecognizedHandler(
object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(" SpeechRecognized event raised.");
if (e.Result != null)
{
Console.WriteLine(" Grammar = {0}; Text = {1}",
e.Result.Grammar.Name ?? "<none>", e.Result.Text);
}
else
{
Console.WriteLine(" No recognition result available.");
}
}
}
}
Hinweise
Die Spracherkennung löst die SpeechDetectedEreignisse , SpeechHypothesized, SpeechRecognitionRejectedund SpeechRecognized aus, als ob der Erkennungsvorgang nicht emuliert wurde.
Die Erkennungen, die mit Vista und Windows 7 ausgeliefert werden, ignorieren die Groß- und Kleinschreibung und Die Zeichenbreite, wenn Grammatikregeln auf den Eingabebegriff angewendet werden. Weitere Informationen zu diesem Vergleichstyp finden Sie unter Enumerationswerte CompareOptionsOrdinalIgnoreCase und IgnoreWidth. Die Erkennungen ignorieren auch neue Zeilen und zusätzliche Leerzeichen und behandeln Interpunktion als Literaleingabe.
Weitere Informationen
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Gilt für:
EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
Emuliert die Eingabe bestimmter Wörter für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt.
public:
System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions) As RecognitionResult
Parameter
- wordUnits
- RecognizedWordUnit[]
Ein Array von Worteinheiten, das die Eingabe für den Erkennungsvorgang enthält.
- compareOptions
- CompareOptions
Eine bitweise Kombination der Enumerationswerte, die den Typ des Vergleichs beschreiben, der für den emulierten Erkennungsvorgang verwendet wird.
Gibt zurück
Das Ergebnis für den Erkennungsvorgang oder null
, wenn der Vorgang nicht erfolgreich war oder die Erkennung nicht aktiviert ist.
Ausnahmen
Die Erkennung hat keine geladenen Spracherkennungsgrammatiken.
wordUnits
ist null
.
wordUnits
enthält mindestens ein null
-Element.
compareOptions
enthält das Flag IgnoreNonSpace, IgnoreSymbols oder StringSort.
Hinweise
Die Spracherkennung löst die SpeechDetectedEreignisse , SpeechHypothesized, SpeechRecognitionRejectedund SpeechRecognized aus, als ob der Erkennungsvorgang nicht emuliert wurde.
Die Erkennung verwendet compareOptions
, wenn Grammatikregeln auf den Eingabebegriff angewendet werden. Die Erkennungen, die mit Vista und Windows 7 ausgeliefert werden, ignorieren die Groß-/Kleinschreibung, wenn der OrdinalIgnoreCase Wert oder IgnoreCase vorhanden ist. Die Erkennung ignoriert immer die Zeichenbreite und ignoriert niemals den Kana-Typ. Die Erkennung ignoriert auch neue Zeilen und zusätzliche Leerzeichen und behandelt interpunktion als Literaleingabe. Weitere Informationen zur Zeichenbreite und zum Kana-Typ finden Sie in der CompareOptions Enumeration.
Weitere Informationen
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Gilt für:
EmulateRecognize(String, CompareOptions)
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
- Quelle:
- SpeechRecognitionEngine.cs
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt.
public:
System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : string * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String, compareOptions As CompareOptions) As RecognitionResult
Parameter
- inputText
- String
Der Eingabebegriff für den Erkennungsvorgang.
- compareOptions
- CompareOptions
Eine bitweise Kombination der Enumerationswerte, die den Typ des Vergleichs beschreiben, der für den emulierten Erkennungsvorgang verwendet wird.
Gibt zurück
Das Ergebnis für den Erkennungsvorgang oder null
, wenn der Vorgang nicht erfolgreich war oder die Erkennung nicht aktiviert ist.
Ausnahmen
Die Erkennung hat keine geladenen Spracherkennungsgrammatiken.
inputText
ist null
.
inputText
ist die leere Zeichenfolge ("").
compareOptions
enthält das Flag IgnoreNonSpace, IgnoreSymbols oder StringSort.
Hinweise
Die Spracherkennung löst die SpeechDetectedEreignisse , SpeechHypothesized, SpeechRecognitionRejectedund SpeechRecognized aus, als ob der Erkennungsvorgang nicht emuliert wurde.
Die Erkennung verwendet compareOptions
, wenn Grammatikregeln auf den Eingabebegriff angewendet werden. Die Erkennungen, die mit Vista und Windows 7 ausgeliefert werden, ignorieren die Groß-/Kleinschreibung, wenn der OrdinalIgnoreCase Wert oder IgnoreCase vorhanden ist. Die Erkennung ignoriert immer die Zeichenbreite und ignoriert niemals den Kana-Typ. Die Erkennung ignoriert auch neue Zeilen und zusätzliche Leerzeichen und behandelt interpunktion als Literaleingabe. Weitere Informationen zur Zeichenbreite und zum Kana-Typ finden Sie in der CompareOptions Enumeration.
Weitere Informationen
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized