SpeechRecognitionEngine.EmulateRecognizeAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Emula la entrada al reconocedor de voz mediante texto en lugar de audio para el reconocimiento de voz asincrónico.
Sobrecargas
| Nombre | Description |
|---|---|
| EmulateRecognizeAsync(String) |
Emula la entrada de una frase al reconocedor de voz, usando texto en lugar de audio para el reconocimiento de voz asincrónico. |
| EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emula la entrada de palabras específicas para el reconocedor de voz, utilizando una matriz de RecognizedWordUnit objetos en lugar de audio para el reconocimiento de voz asincrónico y especifica cómo controla el reconocedor la comparación Unicode entre las palabras y las gramáticas de reconocimiento de voz cargadas. |
| EmulateRecognizeAsync(String, CompareOptions) |
Emula la entrada de una frase al reconocedor de voz, utilizando texto en lugar de audio para el reconocimiento de voz asincrónico y especifica cómo controla el reconocedor la comparación Unicode entre la frase y las gramáticas de reconocimiento de voz cargadas. |
Comentarios
Estos métodos omiten la entrada de audio del sistema y proporcionan texto al reconocedor como String objetos o como una matriz de RecognizedWordUnit objetos. Esto puede resultar útil al probar o depurar una aplicación o gramática. Por ejemplo, puede usar la emulación para determinar si una palabra está en una gramática y qué semántica se devuelve cuando se reconoce la palabra. Use el método para deshabilitar la SetInputToNull entrada de audio en el motor de reconocimiento de voz durante las operaciones de emulación.
El reconocedor de voz genera los SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectedy SpeechRecognized como si la operación de reconocimiento no se emule. Cuando el reconocedor completa la operación de reconocimiento asincrónica, genera el EmulateRecognizeCompleted evento . El reconocedor omite las nuevas líneas y el espacio en blanco adicional y trata la puntuación como entrada literal.
Nota:
El RecognitionResult objeto generado por el reconocedor de voz en respuesta a la entrada emulada tiene un valor de null para su Audio propiedad .
Para emular el reconocimiento sincrónico, use el EmulateRecognize método .
EmulateRecognizeAsync(String)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
Emula la entrada de una frase al reconocedor de voz, usando texto en lugar de audio para el reconocimiento de voz asincrónico.
public:
void EmulateRecognizeAsync(System::String ^ inputText);
public void EmulateRecognizeAsync(string inputText);
member this.EmulateRecognizeAsync : string -> unit
Public Sub EmulateRecognizeAsync (inputText As String)
Parámetros
- inputText
- String
Entrada de la operación de reconocimiento.
Excepciones
El reconocedor no tiene ninguna gramática de reconocimiento de voz cargada o el reconocedor tiene una operación de reconocimiento asincrónica que aún no está completa.
inputText es null.
inputText es la cadena vacía ("").
Ejemplos
El ejemplo de código siguiente forma parte de una aplicación de consola que muestra la entrada emulada asincrónica, los resultados de reconocimiento asociados y los eventos asociados generados por el reconocedor de voz. El ejemplo genera la salida siguiente.
TestRecognizeAsync("Smith")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Smith; Text = Smith
EmulateRecognizeCompleted event raised.
Grammar = Smith; Text = Smith
Done.
TestRecognizeAsync("Jones")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Jones; Text = Jones
EmulateRecognizeCompleted event raised.
Grammar = Jones; Text = Jones
Done.
TestRecognizeAsync("Mister")...
SpeechDetected event raised.
SpeechHypothesized event raised.
Grammar = Smith; Text = mister
SpeechRecognitionRejected event raised.
Grammar = <not available>; Text =
EmulateRecognizeCompleted event raised.
No recognition result available.
Done.
TestRecognizeAsync("Mister Smith")...
SpeechDetected event raised.
SpeechRecognized event raised.
Grammar = Smith; Text = mister Smith
EmulateRecognizeCompleted event raised.
Grammar = Smith; Text = mister Smith
Done.
press any key to exit...
using System;
using System.Globalization;
using System.Speech.Recognition;
using System.Threading;
namespace SreEmulateRecognizeAsync
{
class Program
{
// Indicate when an asynchronous operation is finished.
static bool completed;
static void Main(string[] args)
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
// Load grammars.
recognizer.LoadGrammar(CreateNameGrammar("Smith"));
recognizer.LoadGrammar(CreateNameGrammar("Jones"));
// Configure the audio input.
recognizer.SetInputToNull();
// Add event handlers for the events raised by the
// EmulateRecognizeAsync 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);
recognizer.EmulateRecognizeCompleted +=
new EventHandler<EmulateRecognizeCompletedEventArgs>(
EmulateRecognizeCompletedHandler);
// Start four asynchronous emulated recognition operations.
TestRecognizeAsync(recognizer, "Smith");
TestRecognizeAsync(recognizer, "Jones");
TestRecognizeAsync(recognizer, "Mister");
TestRecognizeAsync(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 asynchronous
// recognition.
private static void TestRecognizeAsync(
SpeechRecognitionEngine recognizer, string input)
{
completed = false;
Console.WriteLine("TestRecognizeAsync(\"{0}\")...", input);
recognizer.EmulateRecognizeAsync(input);
// Wait for the operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
Console.WriteLine(" Done.");
Console.WriteLine();
}
static void SpeechDetectedHandler(
object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine(" SpeechDetected event raised.");
}
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.");
}
}
// Handle events.
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.");
}
}
static void EmulateRecognizeCompletedHandler(
object sender, EmulateRecognizeCompletedEventArgs e)
{
Console.WriteLine(" EmulateRecognizeCompleted event raised.");
if (e.Error != null)
{
Console.WriteLine(" {0} exception encountered: {1}:",
e.Error.GetType().Name, e.Error.Message);
}
else if (e.Cancelled)
{
Console.WriteLine(" Operation cancelled.");
}
else 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.");
}
completed = true;
}
}
}
Comentarios
El reconocedor de voz genera los SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectedy SpeechRecognized como si la operación de reconocimiento no se emule. Cuando el reconocedor completa la operación de reconocimiento asincrónica, genera el EmulateRecognizeCompleted evento .
Los reconocedores que se incluyen con Vista y Windows 7 omiten el ancho de mayúsculas y minúsculas y caracteres al aplicar reglas de gramática a la frase de entrada. Para obtener más información sobre este tipo de comparación, vea los CompareOptions valores OrdinalIgnoreCase de enumeración y IgnoreWidth. Los reconocedores también omiten nuevas líneas y espacios en blanco adicionales y tratan la puntuación como entrada literal.
Este método almacena en la tarea que devuelve todas las excepciones de no uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por EmulateRecognize(String).
Consulte también
- EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- RecognizeAsync()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- EmulateRecognizeCompleted
Se aplica a
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
Emula la entrada de palabras específicas para el reconocedor de voz, utilizando una matriz de RecognizedWordUnit objetos en lugar de audio para el reconocimiento de voz asincrónico y especifica cómo controla el reconocedor la comparación Unicode entre las palabras y las gramáticas de reconocimiento de voz cargadas.
public:
void EmulateRecognizeAsync(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync(System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions)
Parámetros
- wordUnits
- RecognizedWordUnit[]
Matriz de unidades de palabras que contiene la entrada para la operación de reconocimiento.
- compareOptions
- CompareOptions
Combinación bit a bit de los valores de enumeración que describen el tipo de comparación que se va a usar para la operación de reconocimiento emulada.
Excepciones
El reconocedor no tiene ninguna gramática de reconocimiento de voz cargada o el reconocedor tiene una operación de reconocimiento asincrónica que aún no está completa.
wordUnits es null.
wordUnits contiene uno o varios null elementos.
compareOptions contiene la IgnoreNonSpacemarca , IgnoreSymbolso StringSort .
Comentarios
El reconocedor de voz genera los SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectedy SpeechRecognized como si la operación de reconocimiento no se emule. Cuando el reconocedor completa la operación de reconocimiento asincrónica, genera el EmulateRecognizeCompleted evento .
El reconocedor usa compareOptions cuando aplica reglas gramaticales a la frase de entrada. Los reconocedores que se envían con Vista y Windows 7 omiten mayúsculas de minúsculas si el OrdinalIgnoreCase valor o IgnoreCase está presente. Los reconocedores siempre omiten el ancho del carácter y nunca ignoran el tipo Kana. Los reconocedores también omiten nuevas líneas y espacios en blanco adicionales y tratan la puntuación como entrada literal. Para obtener más información sobre el ancho de caracteres y el tipo Kana, vea la CompareOptions enumeración.
Este método almacena en la tarea que devuelve todas las excepciones de no uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por EmulateRecognize(RecognizedWordUnit[], CompareOptions).
Consulte también
- EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- RecognizeAsync()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- EmulateRecognizeCompleted
Se aplica a
EmulateRecognizeAsync(String, CompareOptions)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
Emula la entrada de una frase al reconocedor de voz, utilizando texto en lugar de audio para el reconocimiento de voz asincrónico y especifica cómo controla el reconocedor la comparación Unicode entre la frase y las gramáticas de reconocimiento de voz cargadas.
public:
void EmulateRecognizeAsync(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync(string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : string * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (inputText As String, compareOptions As CompareOptions)
Parámetros
- inputText
- String
Frase de entrada para la operación de reconocimiento.
- compareOptions
- CompareOptions
Combinación bit a bit de los valores de enumeración que describen el tipo de comparación que se va a usar para la operación de reconocimiento emulada.
Excepciones
El reconocedor no tiene ninguna gramática de reconocimiento de voz cargada o el reconocedor tiene una operación de reconocimiento asincrónica que aún no está completa.
inputText es null.
inputText es la cadena vacía ("").
compareOptions contiene la IgnoreNonSpacemarca , IgnoreSymbolso StringSort .
Comentarios
El reconocedor de voz genera los SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectedy SpeechRecognized como si la operación de reconocimiento no se emule. Cuando el reconocedor completa la operación de reconocimiento asincrónica, genera el EmulateRecognizeCompleted evento .
El reconocedor usa compareOptions cuando aplica reglas gramaticales a la frase de entrada. Los reconocedores que se envían con Vista y Windows 7 omiten mayúsculas de minúsculas si el OrdinalIgnoreCase valor o IgnoreCase está presente. Los reconocedores siempre omiten el ancho del carácter y nunca ignoran el tipo Kana. Los reconocedores también omiten nuevas líneas y espacios en blanco adicionales y tratan la puntuación como entrada literal. Para obtener más información sobre el ancho de caracteres y el tipo Kana, vea la CompareOptions enumeración.
Este método almacena en la tarea que devuelve todas las excepciones de no uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por EmulateRecognize(String, CompareOptions).
Consulte también
- EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- RecognizeAsync()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- EmulateRecognizeCompleted