SpeechRecognitionEngine.EmulateRecognize Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Emula a entrada do reconhecedor de voz, usando texto em vez de áudio para reconhecimento de fala síncrono.
Sobrecargas
| Name | Description |
|---|---|
| EmulateRecognize(String) |
Emula a entrada de uma frase para o reconhecedor de voz, usando texto em vez de áudio para reconhecimento de fala síncrono. |
| EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula a entrada de palavras específicas para o reconhecedor de voz, usando texto em vez de áudio para reconhecimento de fala síncrono, e especifica como o reconhecedor lida com a comparação Unicode entre as palavras e as gramáticas de reconhecimento de fala carregadas. |
| EmulateRecognize(String, CompareOptions) |
Emula a entrada de uma frase para o reconhecedor de voz, usando texto em vez de áudio para reconhecimento de voz síncrono, e especifica como o reconhecor lida com a comparação Unicode entre a frase e as gramáticas de reconhecimento de fala carregadas. |
Observações
Estes métodos contornam a entrada áudio do sistema e fornecem texto ao reconhecedor como String objetos ou como um array de RecognizedWordUnit objetos. Isto pode ser útil quando está a testar ou a depurar uma aplicação ou gramática. Por exemplo, pode usar emulação para determinar se uma palavra está numa gramática e que semânticas são devolvidas quando a palavra é reconhecida. Use o SetInputToNull método para desativar a entrada de áudio no motor de reconhecimento de voz durante as operações de emulação.
O reconhecedor de fala levanta os SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejected, e SpeechRecognized como se a operação de reconhecimento não fosse emulada. O reconhecedor ignora novas linhas e espaços em branco extra e trata a pontuação como entrada literal.
Note
O RecognitionResult objeto gerado pelo reconhecedor de fala em resposta à entrada emulada tem um valor de null para a sua Audio propriedade.
Para emular o reconhecimento assíncrono, use o EmulateRecognizeAsync método.
EmulateRecognize(String)
Emula a entrada de uma frase para o reconhecedor de voz, usando texto em vez de áudio para reconhecimento de fala síncrono.
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
Parâmetros
- inputText
- String
A entrada para a operação de reconhecimento.
Devoluções
O resultado da operação de reconhecimento, ou null se a operação não for bem-sucedida ou o reconhecor não estiver ativado.
Exceções
O reconhecedor não tem gramáticas de reconhecimento de voz carregadas.
inputText é null.
inputText é a corda vazia ("").
Exemplos
O exemplo de código abaixo faz parte de uma aplicação de consola que demonstra a entrada emulada, os resultados de reconhecimento associados e os eventos associados gerados pelo reconhecedor de voz. O exemplo gera a seguinte saída.
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.");
}
}
}
}
Observações
O reconhecedor de fala levanta os SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejected, e SpeechRecognized como se a operação de reconhecimento não fosse emulada.
Os reconhecedores que vêm com Vista e Windows 7 ignoram a largura de maiúsculas minúsculas e caracteres ao aplicar regras gramaticais à frase de entrada. Para mais informações sobre este tipo de comparação, veja os CompareOptions valores OrdinalIgnoreCase de enumeração e IgnoreWidth. Os reconhecedores também ignoram novas linhas e espaços em branco extra e tratam a pontuação como entrada literal.
Ver também
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Aplica-se a
EmulateRecognize(RecognizedWordUnit[], CompareOptions)
Emula a entrada de palavras específicas para o reconhecedor de voz, usando texto em vez de áudio para reconhecimento de fala síncrono, e especifica como o reconhecedor lida com a comparação Unicode entre as palavras e as gramáticas de reconhecimento de fala carregadas.
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
Parâmetros
- wordUnits
- RecognizedWordUnit[]
Um array de unidades de palavra que contém a entrada para a operação de reconhecimento.
- compareOptions
- CompareOptions
Uma combinação bit a bit dos valores de enumeração que descreve o tipo de comparação a usar para a operação de reconhecimento emulado.
Devoluções
O resultado da operação de reconhecimento, ou null se a operação não for bem-sucedida ou o reconhecor não estiver ativado.
Exceções
O reconhecedor não tem gramáticas de reconhecimento de voz carregadas.
wordUnits é null.
wordUnits contém um ou mais null elementos.
compareOptions contém o IgnoreNonSpace, IgnoreSymbols, ou StringSort flag.
Observações
O reconhecedor de fala levanta os SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejected, e SpeechRecognized como se a operação de reconhecimento não fosse emulada.
O recognizer utiliza compareOptions quando aplica regras gramaticais à frase de entrada. Os reconhecedores que são enviados com Vista e Windows 7 ignoram o caso se o valor OrdinalIgnoreCase ou IgnoreCase estiver presente. O recognizer ignora sempre a largura do carácter e nunca ignora o tipo Kana. O recognizer também ignora novas linhas e espaços em branco extra, tratando a pontuação como entrada literal. Para mais informações sobre largura de caracteres e tipo Kana, consulte a CompareOptions enumeração.
Ver também
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Aplica-se a
EmulateRecognize(String, CompareOptions)
Emula a entrada de uma frase para o reconhecedor de voz, usando texto em vez de áudio para reconhecimento de voz síncrono, e especifica como o reconhecor lida com a comparação Unicode entre a frase e as gramáticas de reconhecimento de fala carregadas.
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
Parâmetros
- inputText
- String
A frase de entrada para a operação de reconhecimento.
- compareOptions
- CompareOptions
Uma combinação bit a bit dos valores de enumeração que descreve o tipo de comparação a usar para a operação de reconhecimento emulado.
Devoluções
O resultado da operação de reconhecimento, ou null se a operação não for bem-sucedida ou o reconhecor não estiver ativado.
Exceções
O reconhecedor não tem gramáticas de reconhecimento de voz carregadas.
inputText é null.
inputText é a corda vazia ("").
compareOptions contém o IgnoreNonSpace, IgnoreSymbols, ou StringSort flag.
Observações
O reconhecedor de fala levanta os SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejected, e SpeechRecognized como se a operação de reconhecimento não fosse emulada.
O recognizer utiliza compareOptions quando aplica regras gramaticais à frase de entrada. Os reconhecedores que são enviados com Vista e Windows 7 ignoram o caso se o valor OrdinalIgnoreCase ou IgnoreCase estiver presente. O recognizer ignora sempre a largura do carácter e nunca ignora o tipo Kana. O recognizer também ignora novas linhas e espaços em branco extra, tratando a pontuação como entrada literal. Para mais informações sobre largura de caracteres e tipo Kana, consulte a CompareOptions enumeração.
Ver também
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized