SpeechRecognitionEngine.Recognize Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí synchronní operaci rozpoznávání řeči.
Přetížení
Recognize() |
Provede synchronní operaci rozpoznávání řeči. |
Recognize(TimeSpan) |
Provede synchronní operaci rozpoznávání řeči se zadaným počátečním časovým limitem ticha. |
Poznámky
Tyto metody provádějí jednu synchronní operaci rozpoznávání. Rozpoznávání provádí tuto operaci s načtenými a povolenými gramatikami rozpoznávání řeči.
Během volání této metody může rozpoznávání vyvolat následující události:
SpeechDetected. Vyvolá se, když rozpoznávání zjistí vstup, který dokáže identifikovat jako řeč.
SpeechHypothesized. Při vyvolání při zadání se vytvoří nejednoznačná shoda s jednou z aktivních gramatik.
SpeechRecognitionRejected nebo SpeechRecognized: Vyvolá se, když rozpoznávání dokončí operaci rozpoznávání.
Rozpoznávání nevyvolá RecognizeCompleted událost při použití některé z Recognize metod.
Metody Recognize vrátí RecognitionResult objekt nebo null
pokud operace není úspěšná nebo rozpoznávání není povoleno.
Operace synchronního rozpoznávání může selhat z následujících důvodů:
Řeč se nezjistí před vypršením intervalů časového limitu BabbleTimeout pro vlastnosti nebo InitialSilenceTimeout nebo pro
initialSilenceTimeout
parametr Recognize metody.Modul rozpoznávání rozpozná řeč, ale nenajde žádné shody v žádném z načtených a povolených Grammar objektů.
Pokud chcete změnit způsob, jakým rozpoznávání zpracovává časování řeči nebo ticha s ohledem na rozpoznávání, použijte BabbleTimeoutvlastnosti , EndSilenceTimeoutInitialSilenceTimeout, a EndSilenceTimeoutAmbiguous .
Před provedením SpeechRecognitionEngine rozpoznávání musí mít načtený alespoň jeden Grammar objekt. Pokud chcete načíst gramatiku rozpoznávání řeči, použijte metodu LoadGrammar nebo LoadGrammarAsync .
K provedení asynchronního rozpoznávání použijte jednu z RecognizeAsync metod .
Recognize()
Provede synchronní operaci rozpoznávání řeči.
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
Návraty
Výsledek rozpoznávání pro vstup nebo null
pokud operace není úspěšná nebo rozpoznávání není povoleno.
Příklady
Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. V příkladu se vytvoří objekt , který DictationGrammarnačte do rozpoznávání řeči v procesu a provede jednu operaci rozpoznávání.
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();
}
}
}
Poznámky
Tato metoda provádí jednu operaci rozpoznávání. Rozpoznávání provádí tuto operaci s načtenými a povolenými gramatikami rozpoznávání řeči.
Během volání této metody může rozpoznávání vyvolat následující události:
SpeechDetected. Vyvolá se, když rozpoznávání zjistí vstup, který dokáže identifikovat jako řeč.
SpeechHypothesized. Při vyvolání při zadání se vytvoří nejednoznačná shoda s jednou z aktivních gramatik.
SpeechRecognitionRejected nebo SpeechRecognized: Vyvolá se, když rozpoznávání dokončí operaci rozpoznávání.
Rozpoznávání při použití této metody nevyvolá RecognizeCompleted událost.
Metoda Recognize() vrátí RecognitionResult objekt nebo null
pokud operace není úspěšná.
Operace synchronního rozpoznávání může selhat z následujících důvodů:
Řeč se nezjistí před vypršením časových limitů pro BabbleTimeout vlastnosti nebo InitialSilenceTimeout .
Modul rozpoznávání rozpozná řeč, ale nenajde žádné shody v žádném z načtených a povolených Grammar objektů.
K provedení asynchronního rozpoznávání použijte jednu z RecognizeAsync metod .
Viz také
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Platí pro
Recognize(TimeSpan)
Provede synchronní operaci rozpoznávání řeči se zadaným počátečním časovým limitem ticha.
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
Parametry
- initialSilenceTimeout
- TimeSpan
Časový interval, po který rozpoznávání řeči přijímá vstup, který před dokončením rozpoznávání obsahuje pouze ticho.
Návraty
Výsledek rozpoznávání pro vstup nebo null
pokud operace není úspěšná nebo rozpoznávání není povoleno.
Příklady
Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. V příkladu se vytvoří objekt , který DictationGrammarnačte do rozpoznávání řeči v procesu a provede jednu operaci rozpoznávání.
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();
}
}
}
Poznámky
Pokud modul rozpoznávání řeči rozpozná řeč v časovém intervalu určeném argumentem initialSilenceTimeout
, Recognize(TimeSpan) provede jednu operaci rozpoznávání a pak se ukončí. Parametr initialSilenceTimeout
nahrazuje vlastnost rozpoznávání InitialSilenceTimeout .
Během volání této metody může rozpoznávání vyvolat následující události:
SpeechDetected. Vyvolá se, když rozpoznávání zjistí vstup, který dokáže identifikovat jako řeč.
SpeechHypothesized. Při vyvolání při zadání se vytvoří nejednoznačná shoda s jednou z aktivních gramatik.
SpeechRecognitionRejected nebo SpeechRecognized: Vyvolá se, když rozpoznávání dokončí operaci rozpoznávání.
Rozpoznávání při použití této metody nevyvolá RecognizeCompleted událost.
Metoda Recognize() vrátí RecognitionResult objekt nebo null
pokud operace není úspěšná.
Operace synchronního rozpoznávání může selhat z následujících důvodů:
Řeč se nezjistí před vypršením intervalů časového limitu BabbleTimeout pro parametr nebo
initialSilenceTimeout
.Modul rozpoznávání rozpozná řeč, ale nenajde žádné shody v žádném z načtených a povolených Grammar objektů.
K provedení asynchronního rozpoznávání použijte jednu z RecognizeAsync metod .
Viz také
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)