SpeechRecognitionEngine.Recognize Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee start u een synchrone spraakherkenningsbewerking.
Overloads
| Name | Description |
|---|---|
| Recognize() |
Voert een synchrone spraakherkenningsbewerking uit. |
| Recognize(TimeSpan) |
Voert een synchrone spraakherkenningsbewerking uit met een opgegeven initiële time-outperiode voor stilte. |
Opmerkingen
Met deze methoden wordt één synchrone herkenningsbewerking uitgevoerd. De recognizer voert deze bewerking uit op basis van de geladen en ingeschakelde grammatica voor spraakherkenning.
Tijdens een aanroep van deze methode kan de recognizer de volgende gebeurtenissen veroorzaken:
SpeechDetected. Gegenereerd wanneer de recognizer invoer detecteert die als spraak kan worden geïdentificeerd.
SpeechHypothesized. Gegenereerd wanneer invoer een dubbelzinnige overeenkomst met een van de actieve grammatica's maakt.
SpeechRecognitionRejected of SpeechRecognized. Gegenereerd wanneer de recognizer een herkenningsbewerking voltooit.
De recognizer genereert de RecognizeCompleted gebeurtenis niet wanneer u een van de Recognize methoden gebruikt.
De Recognize methoden retourneren een RecognitionResult object of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.
Een synchrone herkenningsbewerking kan om de volgende redenen mislukken:
Spraak wordt niet gedetecteerd voordat de time-outintervallen verlopen voor de BabbleTimeout of InitialSilenceTimeout eigenschappen of voor de
initialSilenceTimeoutparameter van de Recognize methode.De herkenningsengine detecteert spraak, maar vindt geen overeenkomsten in een van de geladen en ingeschakelde Grammar objecten.
Als u wilt wijzigen hoe de recognizer de timing van spraak of stilte verwerkt met betrekking tot herkenning, gebruikt u de BabbleTimeout, InitialSilenceTimeouten EndSilenceTimeouteigenschappen EndSilenceTimeoutAmbiguous .
Er SpeechRecognitionEngine moet ten minste één Grammar object zijn geladen voordat er herkenning wordt uitgevoerd. Als u een grammatica voor spraakherkenning wilt laden, gebruikt u de LoadGrammar of LoadGrammarAsync methode.
Gebruik een van de RecognizeAsync methoden om asynchrone herkenning uit te voeren.
Recognize()
Voert een synchrone spraakherkenningsbewerking uit.
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
Retouren
Het herkenningsresultaat voor de invoer of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.
Voorbeelden
In het volgende voorbeeld ziet u een deel van een consoletoepassing waarin eenvoudige spraakherkenning wordt gedemonstreert. In het voorbeeld wordt een DictationGrammar, geladen in een in-process spraakherkenning en wordt één herkenningsbewerking uitgevoerd.
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();
}
}
}
Opmerkingen
Met deze methode wordt één herkenningsbewerking uitgevoerd. De recognizer voert deze bewerking uit op basis van de geladen en ingeschakelde grammatica voor spraakherkenning.
Tijdens een aanroep van deze methode kan de recognizer de volgende gebeurtenissen veroorzaken:
SpeechDetected. Gegenereerd wanneer de recognizer invoer detecteert die als spraak kan worden geïdentificeerd.
SpeechHypothesized. Gegenereerd wanneer invoer een dubbelzinnige overeenkomst met een van de actieve grammatica's maakt.
SpeechRecognitionRejected of SpeechRecognized. Gegenereerd wanneer de recognizer een herkenningsbewerking voltooit.
De recognizer genereert de RecognizeCompleted gebeurtenis niet wanneer u deze methode gebruikt.
De Recognize() methode retourneert een RecognitionResult object of null als de bewerking niet lukt.
Een synchrone herkenningsbewerking kan om de volgende redenen mislukken:
Spraak wordt niet gedetecteerd voordat de time-outintervallen voor de BabbleTimeout of InitialSilenceTimeout eigenschappen verlopen.
De herkenningsengine detecteert spraak, maar vindt geen overeenkomsten in een van de geladen en ingeschakelde Grammar objecten.
Gebruik een van de RecognizeAsync methoden om asynchrone herkenning uit te voeren.
Zie ook
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Van toepassing op
Recognize(TimeSpan)
Voert een synchrone spraakherkenningsbewerking uit met een opgegeven initiële time-outperiode voor stilte.
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
Parameters
- initialSilenceTimeout
- TimeSpan
Het tijdsinterval van een spraakherkenning accepteert invoer die alleen stilte bevat voordat de herkenning wordt voltooid.
Retouren
Het herkenningsresultaat voor de invoer of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.
Voorbeelden
In het volgende voorbeeld ziet u een deel van een consoletoepassing waarin eenvoudige spraakherkenning wordt gedemonstreert. In het voorbeeld wordt een DictationGrammar, geladen in een in-process spraakherkenning en wordt één herkenningsbewerking uitgevoerd.
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();
}
}
}
Opmerkingen
Als de spraakherkenningsengine spraak detecteert binnen het tijdsinterval dat is opgegeven met initialSilenceTimeout een argument, Recognize(TimeSpan) voert u één herkenningsbewerking uit en beëindigt u deze. De initialSilenceTimeout parameter vervangt de eigenschap van InitialSilenceTimeout de recognizer.
Tijdens een aanroep van deze methode kan de recognizer de volgende gebeurtenissen veroorzaken:
SpeechDetected. Gegenereerd wanneer de recognizer invoer detecteert die als spraak kan worden geïdentificeerd.
SpeechHypothesized. Gegenereerd wanneer invoer een dubbelzinnige overeenkomst met een van de actieve grammatica's maakt.
SpeechRecognitionRejected of SpeechRecognized. Gegenereerd wanneer de recognizer een herkenningsbewerking voltooit.
De recognizer genereert de RecognizeCompleted gebeurtenis niet wanneer u deze methode gebruikt.
De Recognize() methode retourneert een RecognitionResult object of null als de bewerking niet lukt.
Een synchrone herkenningsbewerking kan om de volgende redenen mislukken:
Spraak wordt niet gedetecteerd voordat de time-outintervallen verlopen voor de BabbleTimeout of voor de
initialSilenceTimeoutparameter.De herkenningsengine detecteert spraak, maar vindt geen overeenkomsten in een van de geladen en ingeschakelde Grammar objecten.
Gebruik een van de RecognizeAsync methoden om asynchrone herkenning uit te voeren.
Zie ook
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)