SpeechRecognitionEngine.EmulateRecognize Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Emuluje dane wejściowe do rozpoznawania mowy przy użyciu tekstu zamiast dźwięku w celu synchronicznego rozpoznawania mowy.
Przeciążenia
EmulateRecognize(String) |
Emuluje dane wejściowe frazy do rozpoznawania mowy przy użyciu tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emuluje dane wejściowe określonych wyrazów do aparatu rozpoznawania mowy, używając tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między wyrazami a załadowaną gramatyką rozpoznawania mowy. |
EmulateRecognize(String, CompareOptions) |
Emuluje dane wejściowe frazy do aparatu rozpoznawania mowy, używając tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między frazą a załadowaną gramatyką rozpoznawania mowy. |
Uwagi
Te metody pomijają systemowe dane wejściowe audio i udostępniają tekst do rozpoznawania jako String obiekty lub jako tablicę RecognizedWordUnit obiektów. Może to być przydatne podczas testowania lub debugowania aplikacji lub gramatyki. Na przykład można użyć emulacji, aby określić, czy wyraz znajduje się w gramatyce i jakie semantyki są zwracane po rozpoznaniu wyrazu. SetInputToNull Użyj metody , aby wyłączyć wprowadzanie dźwięku do aparatu rozpoznawania mowy podczas operacji emulacji.
Rozpoznawanie SpeechDetectedmowy wywołuje zdarzenia , , SpeechHypothesizedSpeechRecognitionRejectedi SpeechRecognized tak, jakby operacja rozpoznawania nie została emulowana. Rozpoznawanie ignoruje nowe wiersze i dodatkowe białe znaki i traktuje interpunkcję jako dane wejściowe literału.
Uwaga
RecognitionResult Obiekt wygenerowany przez aparat rozpoznawania mowy w odpowiedzi na emulowane dane wejściowe ma wartość null
dla jego Audio właściwości.
Aby emulować rozpoznawanie asynchroniczne, użyj EmulateRecognizeAsync metody .
EmulateRecognize(String)
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
Emuluje dane wejściowe frazy do rozpoznawania mowy przy użyciu tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy.
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
Parametry
- inputText
- String
Dane wejściowe operacji rozpoznawania.
Zwraca
Wynik operacji rozpoznawania lub null
jeśli operacja nie powiedzie się lub rozpoznawanie nie jest włączona.
Wyjątki
Aparat rozpoznawania nie ma załadowanych gramatyk rozpoznawania mowy.
inputText
to null
.
inputText
jest pustym ciągiem ("").
Przykłady
Poniższy przykład kodu jest częścią aplikacji konsolowej, która demonstruje emulowane dane wejściowe, skojarzone wyniki rozpoznawania i skojarzone zdarzenia wywoływane przez rozpoznawanie mowy. W przykładzie są generowane następujące dane wyjściowe.
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.");
}
}
}
}
Uwagi
Rozpoznawanie SpeechDetectedmowy wywołuje zdarzenia , , SpeechHypothesizedSpeechRecognitionRejectedi SpeechRecognized tak, jakby operacja rozpoznawania nie została emulowana.
Osoby rozpoznające dostarczane z systemami Vista i Windows 7 ignorują wielkość liter i znaków podczas stosowania reguł gramatycznych do frazy wejściowej. Aby uzyskać więcej informacji na temat tego typu porównania, zobacz CompareOptions wartości OrdinalIgnoreCase wyliczenia i IgnoreWidth. Rozpoznawanie ignoruje również nowe wiersze i dodatkowe białe znaki i traktuj znaki interpunkcyjne jako dane wejściowe literału.
Zobacz też
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Dotyczy
EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
Emuluje dane wejściowe określonych wyrazów do aparatu rozpoznawania mowy, używając tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między wyrazami a załadowaną gramatyką rozpoznawania mowy.
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
Parametry
- wordUnits
- RecognizedWordUnit[]
Tablica jednostek wyrazów, która zawiera dane wejściowe dla operacji rozpoznawania.
- compareOptions
- CompareOptions
Bitowa kombinacja wartości wyliczenia, które opisują typ porównania do użycia dla emulowanej operacji rozpoznawania.
Zwraca
Wynik operacji rozpoznawania lub null
jeśli operacja nie powiedzie się lub rozpoznawanie nie jest włączona.
Wyjątki
Aparat rozpoznawania nie ma załadowanych gramatyk rozpoznawania mowy.
wordUnits
to null
.
wordUnits
zawiera co najmniej jeden null
element.
compareOptions
zawiera flagę IgnoreNonSpace, IgnoreSymbolslub StringSort .
Uwagi
Rozpoznawanie SpeechDetectedmowy wywołuje zdarzenia , , SpeechHypothesizedSpeechRecognitionRejectedi SpeechRecognized tak, jakby operacja rozpoznawania nie została emulowana.
Rozpoznawanie używa compareOptions
, gdy stosuje reguły gramatyczne do frazy wejściowej. Osoby rozpoznające dostarczane z systemem Vista i Windows 7 ignorują wielkość liter, jeśli OrdinalIgnoreCase wartość lub IgnoreCase jest obecna. Rozpoznawanie zawsze ignoruje szerokość znaku i nigdy nie ignoruje typu Kana. Rozpoznawanie ignoruje również nowe wiersze i dodatkowe białe znaki i traktuje znaki interpunkcyjne jako dane wejściowe literału. Aby uzyskać więcej informacji na temat szerokości znaku i typu Kana, zobacz CompareOptions wyliczenie.
Zobacz też
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Dotyczy
EmulateRecognize(String, CompareOptions)
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
Emuluje dane wejściowe frazy do aparatu rozpoznawania mowy, używając tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między frazą a załadowaną gramatyką rozpoznawania mowy.
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
Parametry
- inputText
- String
Fraza wejściowa dla operacji rozpoznawania.
- compareOptions
- CompareOptions
Bitowa kombinacja wartości wyliczenia, które opisują typ porównania do użycia dla emulowanej operacji rozpoznawania.
Zwraca
Wynik operacji rozpoznawania lub null
jeśli operacja nie powiedzie się lub rozpoznawanie nie jest włączona.
Wyjątki
Aparat rozpoznawania nie ma załadowanych gramatyk rozpoznawania mowy.
inputText
to null
.
inputText
jest pustym ciągiem ("").
compareOptions
zawiera flagę IgnoreNonSpace, IgnoreSymbolslub StringSort .
Uwagi
Rozpoznawanie SpeechDetectedmowy wywołuje zdarzenia , , SpeechHypothesizedSpeechRecognitionRejectedi SpeechRecognized tak, jakby operacja rozpoznawania nie została emulowana.
Rozpoznawanie używa compareOptions
, gdy stosuje reguły gramatyczne do frazy wejściowej. Osoby rozpoznające dostarczane z systemem Vista i Windows 7 ignorują wielkość liter, jeśli OrdinalIgnoreCase wartość lub IgnoreCase jest obecna. Rozpoznawanie zawsze ignoruje szerokość znaku i nigdy nie ignoruje typu Kana. Rozpoznawanie ignoruje również nowe wiersze i dodatkowe białe znaki i traktuje znaki interpunkcyjne jako dane wejściowe literału. Aby uzyskać więcej informacji na temat szerokości znaku i typu Kana, zobacz CompareOptions wyliczenie.
Zobacz też
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized