Sdílet prostřednictvím


SpeechRecognizer Třída

Definice

Poskytuje přístup ke sdílené službě rozpoznávání řeči, která je k dispozici na ploše Windows.

public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
    interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
Dědičnost
SpeechRecognizer
Implementuje

Příklady

Následující příklad je součástí konzolové aplikace, která načítá gramatiku rozpoznávání řeči a demonstruje asynchronní emulovaný vstup, přidružené výsledky rozpoznávání a přidružené události vyvolané rozpoznáváním řeči. Pokud Windows Rozpoznávání řeči není spuštěné, spuštěním této aplikace se spustí také Windows Rozpoznávání řeči. Pokud je Windows Rozpoznávání řeči v režimu spánku , EmulateRecognizeAsync vrátí vždy hodnotu 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;  
    }  
  }  
}  

Poznámky

Aplikace používají sdílený rozpoznávání pro přístup k Windows Rozpoznávání řeči. Objekt můžete SpeechRecognizer použít k přidání do uživatelského prostředí řeči ve Windows.

Tato třída poskytuje kontrolu nad různými aspekty procesu rozpoznávání řeči:

Konfigurace Windows Rozpoznávání řeči se spravuje pomocí dialogového okna Vlastnosti řeči v Ovládací panely. Toto rozhraní slouží k výběru výchozího desktopového modulu pro rozpoznávání řeči a jazyka, zvukového vstupního zařízení a chování rozpoznávání řeči v režimu spánku. Pokud se konfigurace Windows Rozpoznávání řeči změní, když je aplikace spuštěná (například pokud je rozpoznávání řeči zakázané nebo se změní jazyk zadávání), změna ovlivní všechny SpeechRecognizer objekty.

Pokud chcete vytvořit nástroj pro rozpoznávání řeči v procesu, který je nezávislý na Windows Rozpoznávání řeči, použijte SpeechRecognitionEngine třídu .

Poznámka

Před uvolněním posledního odkazu na rozpoznávání řeči vždy volejte Dispose . V opačném případě nebudou prostředky, které používá, uvolněny, dokud systém uvolňování paměti nezavolá metodu objektu Finalize rozpoznávání.

Konstruktory

SpeechRecognizer()

Inicializuje novou instanci SpeechRecognizer třídy .

Vlastnosti

AudioFormat

Získá formát zvuku, který přijímá rozpoznávání řeči.

AudioLevel

Získá úroveň zvuku, který přijímá rozpoznávání řeči.

AudioPosition

Získá aktuální umístění ve zvukovém streamu generovaném zařízením, které poskytuje vstup rozpoznávání řeči.

AudioState

Získá stav zvuku, který přijímá rozpoznávání řeči.

Enabled

Získá nebo nastaví hodnotu, která označuje, zda je tento SpeechRecognizer objekt připraven ke zpracování řeči.

Grammars

Získá kolekci Grammar objektů, které jsou načteny v této SpeechRecognizer instanci.

MaxAlternates

Získá nebo nastaví maximální počet alternativních výsledků rozpoznávání, které sdílené rozpoznávání vrátí pro každou operaci rozpoznávání.

PauseRecognizerOnRecognition

Získá nebo nastaví hodnotu, která označuje, zda sdílené rozpoznávání pozastaví operace rozpoznávání, zatímco aplikace zpracovává SpeechRecognized událost.

RecognizerAudioPosition

Získá aktuální umístění rozpoznávání ve zvukovém vstupu, který zpracovává.

RecognizerInfo

Získá informace o sdíleném rozpoznávání řeči.

State

Získá stav objektu SpeechRecognizer .

Metody

Dispose()

SpeechRecognizer Odstraní objekt.

Dispose(Boolean)

SpeechRecognizer Odstraní objekt a uvolní prostředky použité během relace.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuluje zadávání určitých slov do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávání zpracovává porovnání slov v kódování Unicode mezi slovy a načtenými gramatikami rozpoznávání řeči.

EmulateRecognize(String)

Emuluje zadávání fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči.

EmulateRecognize(String, CompareOptions)

Emuluje vstup fráze do sdíleného nástroje pro rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávání zpracovává porovnání unicode mezi frází a načtenou gramatikou rozpoznávání řeči.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuluje zadávání konkrétních slov do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávání zpracovává porovnání slov v kódování Unicode mezi slovy a načtenými gramatikami rozpoznávání řeči.

EmulateRecognizeAsync(String)

Emuluje vstup fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči.

EmulateRecognizeAsync(String, CompareOptions)

Emuluje vstup fráze do sdíleného nástroje pro rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání fráze v kódování Unicode mezi frází a načtenou gramatikou rozpoznávání řeči.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
LoadGrammar(Grammar)

Načte gramatiku rozpoznávání řeči.

LoadGrammarAsync(Grammar)

Asynchronně načte gramatiku rozpoznávání řeči.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RequestRecognizerUpdate()

Požaduje, aby sdílený rozpoznávání pozastavil a aktualizoval svůj stav.

RequestRecognizerUpdate(Object)

Požádá sdílené rozpoznávání o pozastavení a aktualizaci svého stavu a poskytne token uživatele pro přidruženou událost.

RequestRecognizerUpdate(Object, TimeSpan)

Požaduje, aby sdílený nástroj pro rozpoznávání pozastavil a aktualizoval svůj stav a aby pro přidruženou událost poskytoval posun a token uživatele.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
UnloadAllGrammars()

Uvolní všechny gramatiky rozpoznávání řeči ze sdíleného rozpoznávání.

UnloadGrammar(Grammar)

Uvolní zadanou gramatiku rozpoznávání řeči ze sdíleného rozpoznávání.

Událost

AudioLevelUpdated

Vyvolá se, když sdílený rozpoznávání hlásí úroveň svého zvukového vstupu.

AudioSignalProblemOccurred

Vyvolá se, když rozpoznávání narazí na problém ve zvukovém signálu.

AudioStateChanged

Vyvolá se při změně stavu zvuku, který přijímá rozpoznávání.

EmulateRecognizeCompleted

Nastane, když sdílené rozpoznávání finalizuje asynchronní operaci rozpoznávání pro emulovaný vstup.

LoadGrammarCompleted

Nastane, když rozpoznávání dokončí asynchronní načítání gramatiky rozpoznávání řeči.

RecognizerUpdateReached

Vyvolá se, když rozpoznávání pozastaví synchronizaci rozpoznávání a dalších operací.

SpeechDetected

Vyvolá se, když rozpoznávání rozpozná vstup, který dokáže identifikovat jako řeč.

SpeechHypothesized

Vyvolá se v případě, že nástroj pro rozpoznávání rozpoznal slovo nebo slova, která mohou být součástí více úplných frází v gramatice.

SpeechRecognitionRejected

Vyvolá se, když rozpoznávání obdrží vstup, který neodpovídá žádné z gramatiky rozpoznávání řeči, které načetl.

SpeechRecognized

Vyvolá se, když rozpoznávání obdrží vstup, který odpovídá jedné z jeho gramatiky rozpoznávání řeči.

StateChanged

Nastane, když se změní stav spuštění modulu rozpoznávání řeči windows desktopové technologie řeči.

Platí pro

Viz také