SpeechRecognitionEngine.Recognize 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.
Inicia uma operação síncrona de reconhecimento de voz.
Sobrecargas
| Name | Description |
|---|---|
| Recognize() |
Realiza uma operação síncrona de reconhecimento de voz. |
| Recognize(TimeSpan) |
Realiza uma operação síncrona de reconhecimento de voz com um período inicial de tempo de silêncio especificado. |
Observações
Estes métodos realizam uma única operação de reconhecimento síncrono. O reconhecedor realiza esta operação contra as suas gramáticas de reconhecimento de fala carregadas e ativadas.
Durante uma chamada a este método, o reconhecedor pode gerar os seguintes eventos:
SpeechDetected. Eleva-se quando o reconhecedor deteta uma entrada que pode identificar como fala.
SpeechHypothesized. É levantado quando a entrada cria uma correspondência ambígua com uma das gramáticas ativas.
SpeechRecognitionRejected ou SpeechRecognized. É levantado quando o reconhecor finaliza uma operação de reconhecimento.
O reconhecedor não levanta o RecognizeCompleted evento quando utiliza um dos Recognize métodos.
Os Recognize métodos devolvem um RecognitionResult objeto, ou null se a operação não for bem-sucedida ou se o reconhecedor não estiver ativado.
Uma operação de reconhecimento síncrono pode falhar pelas seguintes razões:
A fala não é detetada antes de expirarem os intervalos de tempo para as BabbleTimeout propriedades ou InitialSilenceTimeout , ou para o
initialSilenceTimeoutparâmetro do Recognize método.O motor de reconhecimento deteta fala, mas não encontra correspondências em nenhum dos seus objetos carregados e ativados Grammar .
Para modificar a forma como o reconhecedor lida com o momento da fala ou do silêncio relativamente ao reconhecimento, use as BabbleTimeout, InitialSilenceTimeout, EndSilenceTimeout, e EndSilenceTimeoutAmbiguous propriedades.
Devem SpeechRecognitionEngine ter pelo menos um Grammar objeto carregado antes de realizar o reconhecimento. Para carregar uma gramática de reconhecimento de voz, use o LoadGrammar método ou LoadGrammarAsync .
Para realizar reconhecimento assíncrono, utilize um dos RecognizeAsync métodos.
Recognize()
Realiza uma operação síncrona de reconhecimento de voz.
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
Devoluções
O resultado do reconhecimento para a entrada, ou null se a operação não for bem-sucedida ou o reconhecedor não estiver ativado.
Exemplos
O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. O exemplo cria um DictationGrammar, carrega-o num reconhecedor de fala em processo e realiza uma operação de reconhecimento.
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();
}
}
}
Observações
Este método realiza uma única operação de reconhecimento. O reconhecedor realiza esta operação contra as suas gramáticas de reconhecimento de fala carregadas e ativadas.
Durante uma chamada a este método, o reconhecedor pode gerar os seguintes eventos:
SpeechDetected. Eleva-se quando o reconhecedor deteta uma entrada que pode identificar como fala.
SpeechHypothesized. É levantado quando a entrada cria uma correspondência ambígua com uma das gramáticas ativas.
SpeechRecognitionRejected ou SpeechRecognized. É levantado quando o reconhecor finaliza uma operação de reconhecimento.
O reconhecedor não levanta o RecognizeCompleted evento ao usar este método.
O Recognize() método devolve um RecognitionResult objeto, ou null se a operação não for bem-sucedida.
Uma operação de reconhecimento síncrono pode falhar pelas seguintes razões:
A fala não é detetada antes de expirarem os intervalos de tempo para as BabbleTimeout propriedades ou.InitialSilenceTimeout
O motor de reconhecimento deteta fala, mas não encontra correspondências em nenhum dos seus objetos carregados e ativados Grammar .
Para realizar reconhecimento assíncrono, utilize um dos RecognizeAsync métodos.
Ver também
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Aplica-se a
Recognize(TimeSpan)
Realiza uma operação síncrona de reconhecimento de voz com um período inicial de tempo de silêncio especificado.
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
Parâmetros
- initialSilenceTimeout
- TimeSpan
O intervalo de tempo que um reconhecedor de fala aceita entrada contendo apenas silêncio antes de finalizar o reconhecimento.
Devoluções
O resultado do reconhecimento para a entrada, ou null se a operação não for bem-sucedida ou o reconhecedor não estiver ativado.
Exemplos
O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. O exemplo cria um DictationGrammar, carrega-o num reconhecedor de fala em processo e realiza uma operação de reconhecimento.
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();
}
}
}
Observações
Se o motor de reconhecimento de voz detetar a fala dentro do intervalo de tempo especificado pelo initialSilenceTimeout argumento, Recognize(TimeSpan) realizar uma única operação de reconhecimento e depois terminar. O initialSilenceTimeout parâmetro substitui a propriedade do InitialSilenceTimeout reconhecedor.
Durante uma chamada a este método, o reconhecedor pode gerar os seguintes eventos:
SpeechDetected. Eleva-se quando o reconhecedor deteta uma entrada que pode identificar como fala.
SpeechHypothesized. É levantado quando a entrada cria uma correspondência ambígua com uma das gramáticas ativas.
SpeechRecognitionRejected ou SpeechRecognized. É levantado quando o reconhecor finaliza uma operação de reconhecimento.
O reconhecedor não levanta o RecognizeCompleted evento ao usar este método.
O Recognize() método devolve um RecognitionResult objeto, ou null se a operação não for bem-sucedida.
Uma operação de reconhecimento síncrono pode falhar pelas seguintes razões:
A fala não é detetada antes de expirarem os intervalos de tempo para o BabbleTimeout ou para o
initialSilenceTimeoutparâmetro.O motor de reconhecimento deteta fala, mas não encontra correspondências em nenhum dos seus objetos carregados e ativados Grammar .
Para realizar reconhecimento assíncrono, utilize um dos RecognizeAsync métodos.
Ver também
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)