SpeechRecognizer Klasa
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.
Zapewnia dostęp do usługi rozpoznawania mowy udostępnionej dostępnej na pulpicie systemu Windows.
public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
- Dziedziczenie
-
SpeechRecognizer
- Implementuje
Przykłady
Poniższy przykład jest częścią aplikacji konsolowej, która ładuje gramatykę rozpoznawania mowy i demonstruje asynchroniczne emulowane dane wejściowe, skojarzone wyniki rozpoznawania i skojarzone zdarzenia wywoływane przez rozpoznawanie mowy. Jeśli funkcja rozpoznawania mowy systemu Windows nie jest uruchomiona, uruchomienie tej aplikacji spowoduje również uruchomienie funkcji rozpoznawania mowy systemu Windows. Jeśli funkcja rozpoznawania mowy systemu Windows jest w stanie uśpienia , EmulateRecognizeAsync zawsze zwraca wartość null.
using System;
using System.Speech.Recognition;
using System.Threading;
namespace SharedRecognizer
{
class Program
{
// Indicate whether the asynchronous emulate recognition
// operation has completed.
static bool completed;
static void Main(string[] args)
{
// Initialize an instance of the shared recognizer.
using (SpeechRecognizer recognizer = new SpeechRecognizer())
{
// Create and load a sample grammar.
Grammar testGrammar =
new Grammar(new GrammarBuilder("testing testing"));
testGrammar.Name = "Test Grammar";
recognizer.LoadGrammar(testGrammar);
// Attach event handlers for recognition events.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
recognizer.EmulateRecognizeCompleted +=
new EventHandler<EmulateRecognizeCompletedEventArgs>(
EmulateRecognizeCompletedHandler);
completed = false;
// Start asynchronous emulated recognition.
// This matches the grammar and generates a SpeechRecognized event.
recognizer.EmulateRecognizeAsync("testing testing");
// Wait for the asynchronous operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
completed = false;
// Start asynchronous emulated recognition.
// This does not match the grammar or generate a SpeechRecognized event.
recognizer.EmulateRecognizeAsync("testing one two three");
// Wait for the asynchronous operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the SpeechRecognized event.
static void SpeechRecognizedHandler(
object sender, SpeechRecognizedEventArgs e)
{
if (e.Result != null)
{
Console.WriteLine("Recognition result = {0}",
e.Result.Text ?? "<no text>");
}
else
{
Console.WriteLine("No recognition result");
}
}
// Handle the SpeechRecognizeCompleted event.
static void EmulateRecognizeCompletedHandler(
object sender, EmulateRecognizeCompletedEventArgs e)
{
if (e.Result == null)
{
Console.WriteLine("No result generated.");
}
// Indicate the asynchronous operation is complete.
completed = true;
}
}
}
Uwagi
Aplikacje używają współużytkowanego aparatu rozpoznawania mowy do uzyskiwania dostępu do funkcji rozpoznawania mowy systemu Windows. Użyj obiektu , SpeechRecognizer aby dodać element do środowiska użytkownika mowy systemu Windows.
Ta klasa zapewnia kontrolę nad różnymi aspektami procesu rozpoznawania mowy:
Aby zarządzać gramatykami rozpoznawania mowy, użyj poleceń LoadGrammar, LoadGrammarAsync, UnloadGrammar, UnloadAllGrammarsi Grammars.
Aby uzyskać informacje o bieżących operacjach rozpoznawania mowy, zasubskrybuj SpeechRecognizerzdarzenia " SpeechDetected, SpeechHypothesized, SpeechRecognitionRejectedi SpeechRecognized .
Aby wyświetlić lub zmodyfikować liczbę alternatywnych wyników zwracanych przez aparat rozpoznawania MaxAlternates , użyj właściwości . Funkcja rozpoznawania zwraca wyniki rozpoznawania RecognitionResult w obiekcie.
Aby uzyskać dostęp do udostępnionego aparatu rozpoznawania lub monitorować go, użyj AudioLevelwłaściwości , AudioPosition, PauseRecognizerOnRecognitionStateRecognizerAudioPositionAudioStateEnabledi oraz StateChanged zdarzeń . AudioSignalProblemOccurredAudioStateChangedAudioLevelUpdated
Aby zsynchronizować zmiany w rozpoznawaniu, użyj RequestRecognizerUpdate metody . Współużytkowany aparat rozpoznawania używa więcej niż jednego wątku do wykonywania zadań.
Aby emulować dane wejściowe do wspólnego rozpoznawania, użyj EmulateRecognize metod i EmulateRecognizeAsync .
Konfiguracja rozpoznawania mowy systemu Windows jest zarządzana za pomocą okna dialogowego Właściwości mowy w Panel sterowania. Ten interfejs służy do wybierania domyślnego aparatu rozpoznawania mowy pulpitu i języka, urządzenia wejściowego audio i zachowania uśpienia rozpoznawania mowy. Jeśli konfiguracja funkcji rozpoznawania mowy systemu Windows zostanie zmieniona podczas działania aplikacji (na przykład jeśli rozpoznawanie mowy jest wyłączone lub język wejściowy zostanie zmieniony), zmiana wpłynie na wszystkie SpeechRecognizer obiekty.
Aby utworzyć aparat rozpoznawania mowy w procesie, który jest niezależny od rozpoznawania mowy systemu Windows, użyj SpeechRecognitionEngine klasy .
Uwaga
Przed wydaniem ostatniego odwołania do aparatu rozpoznawania mowy zawsze należy wywołać Dispose metodę . W przeciwnym razie zasoby, których używasz, nie zostaną zwolnione, dopóki moduł odśmiecowania pamięci nie wywoła metody obiektu rozpoznawania Finalize
.
Konstruktory
SpeechRecognizer() |
Inicjuje nowe wystąpienie klasy SpeechRecognizer. |
Właściwości
AudioFormat |
Pobiera format dźwięku odbieranego przez rozpoznawanie mowy. |
AudioLevel |
Pobiera poziom dźwięku odbieranego przez rozpoznawanie mowy. |
AudioPosition |
Pobiera bieżącą lokalizację w strumieniu audio generowanym przez urządzenie, które dostarcza dane wejściowe do rozpoznawania mowy. |
AudioState |
Pobiera stan dźwięku odbieranego przez rozpoznawanie mowy. |
Enabled |
Pobiera lub ustawia wartość wskazującą, czy ten SpeechRecognizer obiekt jest gotowy do przetwarzania mowy. |
Grammars |
Pobiera kolekcję Grammar obiektów, które są ładowane w tym SpeechRecognizer wystąpieniu. |
MaxAlternates |
Pobiera lub ustawia maksymalną liczbę wyników rozpoznawania alternatywnego zwracanych przez współużytkowany aparat rozpoznawania dla każdej operacji rozpoznawania. |
PauseRecognizerOnRecognition |
Pobiera lub ustawia wartość wskazującą, czy współużytkowany aparat rozpoznawania wstrzymuje operacje rozpoznawania, gdy aplikacja obsługuje SpeechRecognized zdarzenie. |
RecognizerAudioPosition |
Pobiera bieżącą lokalizację aparatu rozpoznawania w danych wejściowych audio, które jest przetwarzane. |
RecognizerInfo |
Pobiera informacje o rozpoznawaniu mowy udostępnionej. |
State |
Pobiera stan SpeechRecognizer obiektu. |
Metody
Dispose() |
SpeechRecognizer Usuwa obiekt. |
Dispose(Boolean) |
SpeechRecognizer Usuwa obiekt i zwalnia zasoby używane podczas sesji. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emuluje dane wejściowe określonych wyrazów do aparatu rozpoznawania mowy udostępnionej, używając tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między wyrazami a załadowaną gramatyką rozpoznawania mowy. |
EmulateRecognize(String) |
Emuluje dane wejściowe frazy do rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy. |
EmulateRecognize(String, CompareOptions) |
Emuluje dane wejściowe frazy do rozpoznawania mowy współużytkowanej, używając tekstu zamiast dźwięku do synchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między frazą a załadowaną gramatyką rozpoznawania mowy. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emuluje dane wejściowe określonych wyrazów do aparatu rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku w celu asynchronicznego rozpoznawania mowy i określa sposób, w jaki aparat rozpoznawania obsługuje porównanie Unicode między wyrazami a załadowaną gramatyką rozpoznawania mowy. |
EmulateRecognizeAsync(String) |
Emuluje dane wejściowe frazy do rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku w celu asynchronicznego rozpoznawania mowy. |
EmulateRecognizeAsync(String, CompareOptions) |
Emuluje dane wejściowe frazy do aparatu rozpoznawania mowy udostępnionej przy użyciu tekstu zamiast dźwięku w celu asynchronicznego rozpoznawania mowy i określa sposób obsługi porównania Unicode przez rozpoznawanie mowy między frazą a załadowaną gramatyką rozpoznawania mowy. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
LoadGrammar(Grammar) |
Ładuje gramatykę rozpoznawania mowy. |
LoadGrammarAsync(Grammar) |
Asynchronicznie ładuje gramatykę rozpoznawania mowy. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
RequestRecognizerUpdate() |
Żąda wstrzymania współużytkowanego rozpoznawania i zaktualizowania jego stanu. |
RequestRecognizerUpdate(Object) |
Żąda wstrzymania i zaktualizowania stanu współużytkowanego rozpoznawania oraz udostępnienia tokenu użytkownika dla skojarzonego zdarzenia. |
RequestRecognizerUpdate(Object, TimeSpan) |
Żąda, aby współużytkowany aparat rozpoznawania wstrzymał i zaktualizował jego stan oraz zapewnia przesunięcie i token użytkownika dla skojarzonego zdarzenia. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
UnloadAllGrammars() |
Zwalnia wszystkie gramatyki rozpoznawania mowy z udostępnionego aparatu rozpoznawania. |
UnloadGrammar(Grammar) |
Zwalnia określoną gramatykę rozpoznawania mowy z udostępnionego aparatu rozpoznawania. |
Zdarzenia
AudioLevelUpdated |
Występuje, gdy współużytkowany aparat rozpoznawania zgłasza poziom danych wejściowych dźwięku. |
AudioSignalProblemOccurred |
Występuje, gdy aparat rozpoznawania napotka problem w sygnałie dźwiękowym. |
AudioStateChanged |
Występuje, gdy stan zmienia się w dźwięku odbieranym przez rozpoznawanie. |
EmulateRecognizeCompleted |
Występuje, gdy współużytkowany aparat rozpoznawania finalizuje operację rozpoznawania asynchronicznego dla emulowanych danych wejściowych. |
LoadGrammarCompleted |
Występuje, gdy rozpoznawanie kończy asynchroniczne ładowanie gramatyki rozpoznawania mowy. |
RecognizerUpdateReached |
Występuje, gdy aparat rozpoznawania wstrzymuje się w celu zsynchronizowania rozpoznawania i innych operacji. |
SpeechDetected |
Występuje, gdy rozpoznawanie wykrywa dane wejściowe, które może zidentyfikować jako mowę. |
SpeechHypothesized |
Występuje, gdy rozpoznawanie rozpoznało wyraz lub wyrazy, które mogą być składnikiem wielu kompletnych fraz w gramatyce. |
SpeechRecognitionRejected |
Występuje, gdy aparat rozpoznawania odbiera dane wejściowe, które nie są zgodne z żadną gramatyką rozpoznawania mowy, którą załadował. |
SpeechRecognized |
Występuje, gdy rozpoznawanie odbiera dane wejściowe zgodne z jedną z gramatyk rozpoznawania mowy. |
StateChanged |
Występuje, gdy zmienia się stan działania aparatu rozpoznawania mowy klasycznej systemu Windows. |