SpeechRecognitionEngine.Recognize Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Avvia un'operazione sincrona di riconoscimento vocale.
Overload
Recognize() |
Effettua un'operazione sincrona di riconoscimento vocale. |
Recognize(TimeSpan) |
Effettua un'operazione sincrona di riconoscimento vocale con un periodo di timeout di inattività iniziale specificato. |
Commenti
Questi metodi eseguono un'unica operazione di riconoscimento sincrona. Il riconoscimento esegue questa operazione con le grammatica di riconoscimento vocale caricate e abilitate.
Durante una chiamata a questo metodo, il riconoscimento può generare gli eventi seguenti:
SpeechDetected. Generato quando il riconoscimento rileva l'input che può identificare come voce.
SpeechHypothesized. Generato quando l'input crea una corrispondenza ambigua con una delle grammatica attive.
SpeechRecognitionRejected o SpeechRecognized. Generato quando il riconoscimento finalizza un'operazione di riconoscimento.
Il riconoscimento non genera l'evento RecognizeCompleted quando si usa uno dei Recognize metodi.
I Recognize metodi restituiscono un RecognitionResult oggetto oppure null
se l'operazione non ha esito positivo o il riconoscimento non è abilitato.
Un'operazione di riconoscimento sincrona può non riuscire per i motivi seguenti:
Il riconoscimento vocale non viene rilevato prima della scadenza degli intervalli di timeout per le BabbleTimeout proprietà o InitialSilenceTimeout o per il
initialSilenceTimeout
parametro del Recognize metodo.Il motore di riconoscimento rileva la voce, ma non trova corrispondenze in uno dei relativi oggetti caricati e abilitati Grammar .
Per modificare la modalità di gestione del riconoscimento vocale o del silenzio rispetto al riconoscimento, usare le BabbleTimeoutproprietà , InitialSilenceTimeoutEndSilenceTimeout, e EndSilenceTimeoutAmbiguous .
L'oggetto SpeechRecognitionEngine deve avere almeno un Grammar oggetto caricato prima di eseguire il riconoscimento. Per caricare una grammatica di riconoscimento vocale, usare il LoadGrammar metodo o LoadGrammarAsync .
Per eseguire il riconoscimento asincrono, usare uno dei RecognizeAsync metodi.
Recognize()
- Origine:
- SpeechRecognitionEngine.cs
- Origine:
- SpeechRecognitionEngine.cs
- Origine:
- SpeechRecognitionEngine.cs
Effettua un'operazione sincrona di riconoscimento vocale.
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
Restituisce
Il risultato di riconoscimento per l'input, o null
se l'operazione non riesce o il riconoscimento non è abilitato.
Esempio
Nell'esempio seguente viene illustrata parte di un'applicazione console che illustra il riconoscimento vocale di base. L'esempio crea un DictationGrammaroggetto , lo carica in un riconoscimento vocale in-process ed esegue un'operazione di riconoscimento vocale.
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();
}
}
}
Commenti
Questo metodo esegue una singola operazione di riconoscimento. Il riconoscimento esegue questa operazione con le grammatica di riconoscimento vocale caricate e abilitate.
Durante una chiamata a questo metodo, il riconoscimento può generare gli eventi seguenti:
SpeechDetected. Generato quando il riconoscimento rileva l'input che può identificare come voce.
SpeechHypothesized. Generato quando l'input crea una corrispondenza ambigua con una delle grammatica attive.
SpeechRecognitionRejected o SpeechRecognized. Generato quando il riconoscimento finalizza un'operazione di riconoscimento.
Il riconoscimento non genera l'evento RecognizeCompleted quando si usa questo metodo.
Il Recognize() metodo restituisce un RecognitionResult oggetto o null
se l'operazione non ha esito positivo.
Un'operazione di riconoscimento sincrona può non riuscire per i motivi seguenti:
Il riconoscimento vocale non viene rilevato prima della scadenza degli intervalli di timeout per le BabbleTimeout proprietà o InitialSilenceTimeout .
Il motore di riconoscimento rileva la voce, ma non trova corrispondenze in uno dei relativi oggetti caricati e abilitati Grammar .
Per eseguire il riconoscimento asincrono, usare uno dei RecognizeAsync metodi.
Vedi anche
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Si applica a
Recognize(TimeSpan)
- Origine:
- SpeechRecognitionEngine.cs
- Origine:
- SpeechRecognitionEngine.cs
- Origine:
- SpeechRecognitionEngine.cs
Effettua un'operazione sincrona di riconoscimento vocale con un periodo di timeout di inattività iniziale specificato.
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
Parametri
- initialSilenceTimeout
- TimeSpan
L'intervallo di tempo in cui un riconoscimento vocale accetta l'input contenente solo il silenzio prima di finalizzare il riconoscimento.
Restituisce
Il risultato di riconoscimento per l'input, o null
se l'operazione non riesce o il riconoscimento non è abilitato.
Esempio
Nell'esempio seguente viene illustrata parte di un'applicazione console che illustra il riconoscimento vocale di base. L'esempio crea un DictationGrammaroggetto , lo carica in un riconoscimento vocale in-process ed esegue un'operazione di riconoscimento vocale.
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();
}
}
}
Commenti
Se il motore di riconoscimento vocale rileva la voce all'interno dell'intervallo di tempo specificato dall'argomento initialSilenceTimeout
, Recognize(TimeSpan) esegue un'unica operazione di riconoscimento e quindi termina. Il initialSilenceTimeout
parametro sostituisce la proprietà del InitialSilenceTimeout riconoscimento.
Durante una chiamata a questo metodo, il riconoscimento può generare gli eventi seguenti:
SpeechDetected. Generato quando il riconoscimento rileva l'input che può identificare come voce.
SpeechHypothesized. Generato quando l'input crea una corrispondenza ambigua con una delle grammatica attive.
SpeechRecognitionRejected o SpeechRecognized. Generato quando il riconoscimento finalizza un'operazione di riconoscimento.
Il riconoscimento non genera l'evento RecognizeCompleted quando si usa questo metodo.
Il Recognize() metodo restituisce un RecognitionResult oggetto o null
se l'operazione non ha esito positivo.
Un'operazione di riconoscimento sincrona può non riuscire per i motivi seguenti:
Il riconoscimento vocale non viene rilevato prima della scadenza degli intervalli di timeout per BabbleTimeout o per il
initialSilenceTimeout
parametro.Il motore di riconoscimento rileva la voce, ma non trova corrispondenze in uno dei relativi oggetti caricati e abilitati Grammar .
Per eseguire il riconoscimento asincrono, usare uno dei RecognizeAsync metodi.
Vedi anche
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)