Sdílet prostřednictvím


SpeechRecognizer Třída

Definice

Poskytuje přístup ke službě pro 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čte 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 není spuštěné rozpoznávání řeči systému Windows, spustí se také spuštění této aplikace. Pokud je rozpoznávání řeči systému Windows ve stavu spánku , vždy EmulateRecognizeAsync vrátí 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ávací nástroj pro přístup k rozpoznávání řeči systému Windows. SpeechRecognizer Objekt můžete použít k přidání do uživatelského prostředí řeči systému Windows.

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

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

Pokud chcete vytvořit rozpoznávání řeči v procesu, který je nezávislý na rozpoznávání řeči systému Windows, 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 . Jinak prostředky, které používá, nebudou uvolněny, dokud uvolňování paměti volá metodu Finalize objektu rozpoznávání.

Konstruktory

Name Description
SpeechRecognizer()

Inicializuje novou instanci SpeechRecognizer třídy.

Vlastnosti

Name Description
AudioFormat

Získá formát zvuku přijatého rozpoznáváním řeči.

AudioLevel

Získá úroveň zvuku přijatého rozpoznáváním řeči.

AudioPosition

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

AudioState

Získá stav zvuku přijatého rozpoznáváním ř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ávací nástroj pozastaví operace rozpoznávání, když 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 rozpoznávání sdílené řeči.

State

Získá stav SpeechRecognizer objektu.

Metody

Name Description
Dispose()

SpeechRecognizer Odstraní objekt.

Dispose(Boolean)

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

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuluje vstup konkrétních slov do rozpoznávání sdíleného řeči, používá text místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnání slov v kódu Unicode mezi slovy a gramatikou rozpoznávání řeči načtenou.

EmulateRecognize(String, CompareOptions)

Emuluje vstup fráze do sdíleného rozpoznávání řeči, používá text místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávací nástroj zpracovává porovnávání s kódováním Unicode mezi frází a gramatikou rozpoznávání načtené řeči.

EmulateRecognize(String)

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

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuluje vstup konkrétních slov do rozpoznávání sdíleného řeči, používá text místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání slov v kódování Unicode mezi slovy a gramatikou rozpoznávání načtené řeči.

EmulateRecognizeAsync(String, CompareOptions)

Emuluje vstup fráze do sdíleného rozpoznávání řeči, používá text místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání znaků Unicode mezi frází 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.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type 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 Object.

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

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

RequestRecognizerUpdate(Object, TimeSpan)

Vyžaduje, aby sdílený rozpoznávatel pozastavil a aktualizoval svůj stav a poskytuje posun a token uživatele pro přidruženou událost.

RequestRecognizerUpdate(Object)

Vyžádá si pozastavení a aktualizaci stavu sdíleného rozpoznávatele a poskytne token uživatele pro přidruženou událost.

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 nástroje pro rozpoznávání řeči.

UnloadGrammar(Grammar)

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

Událost

Name Description
AudioLevelUpdated

Nastane, když sdílený rozpoznávatel hlásí úroveň svého zvukového vstupu.

AudioSignalProblemOccurred

Nastane, když rozpoznávatel narazí na problém ve zvukovém signálu.

AudioStateChanged

Nastane, když se stav změní ve zvuku přijatém rozpoznáváním.

EmulateRecognizeCompleted

Nastane, když sdílený rozpoznávací modul 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

Nastane, když se rozpoznávání pozastaví, aby synchronizoval rozpoznávání a další operace.

SpeechDetected

Nastane, když rozpoznává vstup, který dokáže identifikovat jako řeč.

SpeechHypothesized

Nastane, když rozpoznávání rozpozná slovo nebo slova, která mohou být součástí více úplných frází v gramatikě.

SpeechRecognitionRejected

Nastane, když rozpoznávání obdrží vstup, který neodpovídá žádné gramatikě rozpoznávání řeči, kterou načetl.

SpeechRecognized

Nastane, 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ého modulu rozpoznávání řečové technologie Windows Desktop.

Platí pro

Viz také