SpeechRecognitionEngine.Recognize Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Uruchamia synchroniczną operację rozpoznawania mowy.
Przeciążenia
Recognize() |
Wykonuje synchroniczną operację rozpoznawania mowy. |
Recognize(TimeSpan) |
Wykonuje synchroniczną operację rozpoznawania mowy z określonym początkowym okresem przekroczenia limitu czasu ciszy. |
Uwagi
Te metody wykonują pojedynczą operację rozpoznawania synchronicznego. Rozpoznawanie wykonuje tę operację względem załadowanych i włączonych gramatyk rozpoznawania mowy.
Podczas wywołania tej metody rozpoznawanie może zgłaszać następujące zdarzenia:
SpeechDetected. Podniesione, gdy rozpoznawanie wykrywa dane wejściowe, które może zidentyfikować jako mowę.
SpeechHypothesized. Podniesione, gdy dane wejściowe tworzą niejednoznaczne dopasowanie z jedną z aktywnych gramatyki.
SpeechRecognitionRejected lub SpeechRecognized. Podniesione, gdy rozpoznawanie finalizuje operację rozpoznawania.
Rozpoznawanie nie zgłasza zdarzenia RecognizeCompleted podczas korzystania z jednej z Recognize metod.
Metody Recognize zwracają RecognitionResult obiekt lub null
jeśli operacja nie powiodła się lub rozpoznawanie nie jest włączone.
Operacja rozpoznawania synchronicznego może zakończyć się niepowodzeniem z następujących powodów:
Mowa nie jest wykrywana przed wygaśnięciem interwałów przekroczenia limitu czasu dla BabbleTimeout właściwości lub InitialSilenceTimeout lub parametru
initialSilenceTimeout
Recognize metody.Aparat rozpoznawania wykrywa mowę, ale nie znajduje dopasowań w żadnym z załadowanych i włączonych Grammar obiektów.
Aby zmodyfikować sposób obsługi czasu rozpoznawania mowy lub ciszy w odniesieniu do rozpoznawania, użyj BabbleTimeoutwłaściwości , InitialSilenceTimeout, EndSilenceTimeouti EndSilenceTimeoutAmbiguous .
Przed wykonaniem rozpoznawania SpeechRecognitionEngine element musi mieć co najmniej jeden Grammar obiekt załadowany. Aby załadować gramatykę rozpoznawania mowy, użyj LoadGrammar metody or LoadGrammarAsync .
Aby wykonać rozpoznawanie asynchroniczne, użyj jednej z RecognizeAsync metod.
Recognize()
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
Wykonuje synchroniczną operację rozpoznawania mowy.
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
Zwraca
Wynik rozpoznawania danych wejściowych lub null
jeśli operacja nie powiodła się lub rozpoznawanie nie jest włączone.
Przykłady
W poniższym przykładzie przedstawiono część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy obiekt DictationGrammar, ładuje go do rozpoznawania mowy w procesie i wykonuje jedną operację rozpoznawania.
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();
}
}
}
Uwagi
Ta metoda wykonuje pojedynczą operację rozpoznawania. Rozpoznawanie wykonuje tę operację względem załadowanych i włączonych gramatyk rozpoznawania mowy.
Podczas wywołania tej metody rozpoznawanie może zgłaszać następujące zdarzenia:
SpeechDetected. Podniesione, gdy rozpoznawanie wykrywa dane wejściowe, które może zidentyfikować jako mowę.
SpeechHypothesized. Podniesione, gdy dane wejściowe tworzą niejednoznaczne dopasowanie z jedną z aktywnych gramatyki.
SpeechRecognitionRejected lub SpeechRecognized. Podniesione, gdy rozpoznawanie finalizuje operację rozpoznawania.
Funkcja rozpoznawania nie zgłasza zdarzenia RecognizeCompleted podczas korzystania z tej metody.
Metoda Recognize() zwraca RecognitionResult obiekt lub null
jeśli operacja nie powiodła się.
Operacja rozpoznawania synchronicznego może zakończyć się niepowodzeniem z następujących powodów:
Mowa nie jest wykrywana przed wygaśnięciem interwałów limitu czasu dla BabbleTimeout właściwości lub InitialSilenceTimeout .
Aparat rozpoznawania wykrywa mowę, ale nie znajduje dopasowań w żadnym z załadowanych i włączonych Grammar obiektów.
Aby wykonać rozpoznawanie asynchroniczne, użyj jednej z RecognizeAsync metod.
Zobacz też
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Dotyczy
Recognize(TimeSpan)
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
- Źródło:
- SpeechRecognitionEngine.cs
Wykonuje synchroniczną operację rozpoznawania mowy z określonym początkowym okresem przekroczenia limitu czasu ciszy.
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
Interwał czasu rozpoznawania mowy akceptuje dane wejściowe zawierające tylko milczenie przed sfinalizowaniem rozpoznawania.
Zwraca
Wynik rozpoznawania danych wejściowych lub null
jeśli operacja nie powiodła się lub rozpoznawanie nie jest włączone.
Przykłady
W poniższym przykładzie przedstawiono część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy obiekt DictationGrammar, ładuje go do rozpoznawania mowy w procesie i wykonuje jedną operację rozpoznawania.
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();
}
}
}
Uwagi
Jeśli aparat rozpoznawania mowy wykryje mowę w przedziale czasu określonym przez initialSilenceTimeout
argument, wykonuje pojedynczą operację rozpoznawania, Recognize(TimeSpan) a następnie kończy działanie. Parametr initialSilenceTimeout
zastępuje właściwość rozpoznawania InitialSilenceTimeout .
Podczas wywołania tej metody rozpoznawanie może zgłaszać następujące zdarzenia:
SpeechDetected. Podniesione, gdy rozpoznawanie wykrywa dane wejściowe, które może zidentyfikować jako mowę.
SpeechHypothesized. Podniesione, gdy dane wejściowe tworzą niejednoznaczne dopasowanie z jedną z aktywnych gramatyki.
SpeechRecognitionRejected lub SpeechRecognized. Podniesione, gdy rozpoznawanie finalizuje operację rozpoznawania.
Funkcja rozpoznawania nie zgłasza zdarzenia RecognizeCompleted podczas korzystania z tej metody.
Metoda Recognize() zwraca RecognitionResult obiekt lub null
jeśli operacja nie powiodła się.
Operacja rozpoznawania synchronicznego może zakończyć się niepowodzeniem z następujących powodów:
Mowa nie jest wykrywana przed wygaśnięciem interwałów przekroczenia limitu czasu dla BabbleTimeout parametru
initialSilenceTimeout
lub .Aparat rozpoznawania wykrywa mowę, ale nie znajduje dopasowań w żadnym z załadowanych i włączonych Grammar obiektów.
Aby wykonać rozpoznawanie asynchroniczne, użyj jednej z RecognizeAsync metod.
Zobacz też
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)