Sdílet prostřednictvím


SpeechRecognitionEngine Konstruktory

Definice

Inicializuje novou instanci SpeechRecognitionEngine třídy.

Přetížení

Name Description
SpeechRecognitionEngine()

Inicializuje novou instanci SpeechRecognitionEngine třídy pomocí výchozího rozpoznávání řeči pro systém.

SpeechRecognitionEngine(CultureInfo)

Inicializuje novou instanci SpeechRecognitionEngine třídy pomocí výchozího rozpoznávání řeči pro zadané národní prostředí.

SpeechRecognitionEngine(RecognizerInfo)

Inicializuje novou instanci SpeechRecognitionEngine pomocí informací v objektu RecognizerInfo k určení rozpoznávání, který se má použít.

SpeechRecognitionEngine(String)

Inicializuje novou instanci SpeechRecognitionEngine třídy s řetězcový parametr, který určuje název rozpoznávání, který se má použít.

Poznámky

Instanci můžete vytvořit SpeechRecognitionEngine z některé z následujících možností:

  • Výchozí modul pro rozpoznávání řeči pro systém

  • Konkrétní modul pro rozpoznávání řeči, který zadáte podle názvu

  • Výchozí modul pro rozpoznávání řeči pro národní prostředí, které zadáte

  • Konkrétní modul pro rozpoznávání, který splňuje kritéria zadaná v objektu RecognizerInfo .

Než rozpoznávání řeči začne rozpoznávat, musíte načíst aspoň jednu gramatiku rozpoznávání řeči a nakonfigurovat vstup pro rozpoznávání řeči.

Pokud chcete načíst gramatiku, zavolejte ji nebo LoadGrammarAsync metoduLoadGrammar.

Ke konfiguraci zvukového vstupu použijte jednu z následujících metod:

SpeechRecognitionEngine()

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Inicializuje novou instanci SpeechRecognitionEngine třídy pomocí výchozího rozpoznávání řeči pro systém.

public:
 SpeechRecognitionEngine();
public SpeechRecognitionEngine();
Public Sub New ()

Poznámky

Než rozpoznávání řeči začne rozpoznávat, musíte načíst aspoň jednu gramatiku rozpoznávání a nakonfigurovat vstup pro rozpoznávání.

Pokud chcete načíst gramatiku, zavolejte ji nebo LoadGrammarAsync metoduLoadGrammar.

Ke konfiguraci zvukového vstupu použijte jednu z následujících metod:

Platí pro

SpeechRecognitionEngine(CultureInfo)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Inicializuje novou instanci SpeechRecognitionEngine třídy pomocí výchozího rozpoznávání řeči pro zadané národní prostředí.

public:
 SpeechRecognitionEngine(System::Globalization::CultureInfo ^ culture);
public SpeechRecognitionEngine(System.Globalization.CultureInfo culture);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Globalization.CultureInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (culture As CultureInfo)

Parametry

culture
CultureInfo

Národní prostředí, které musí rozpoznávání řeči podporovat.

Výjimky

Žádný z nainstalovaných rozpoznávání řeči nepodporuje zadané národní prostředí nebo culture je invariantní jazyková verze.

Culture je null.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči a inicializuje rozpoznávání řeči pro en-US národní prostředí.

using System;
using System.Speech.Recognition;

namespace SpeechRecognitionApp
{
  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());

        // Add a handler for the speech recognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start asynchronous, continuous speech recognition.
        recognizer.RecognizeAsync(RecognizeMode.Multiple);

        // Keep the console window open.
        while (true)
        {
          Console.ReadLine();
        }
      }
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Recognized text: " + e.Result.Text);
    }
  }
}

Poznámky

Microsoft Windows a rozhraní System.Speech API přijímají všechny platné kódy zemí jazyka. Pokud chcete provádět rozpoznávání řeči pomocí jazyka zadaného v argumentu CultureInfo , musí být nainstalovaný modul pro rozpoznávání řeči, který podporuje kód země jazyka. Moduly pro rozpoznávání řeči, které jsou dodávány s Microsoft Windows 7, pracují s následujícími kódy zemí jazyka.

  • en-GB. Angličtina (Spojené království)

  • en-US. Angličtina (Spojené státy)

  • de-DE. němčina (Německo)

  • es-ES. Španělština (Španělsko)

  • fr-FR. francouzština (Francie)

  • ja-JP. Japonština (Japonsko)

  • zh-CN. Čínština (Čína)

  • zh-TW. Čínština (Tchaj-wan)

Jsou povoleny také dvoumísmenné kódy jazyka, například "en", "fr" nebo "es".

Než rozpoznávání řeči začne rozpoznávat, musíte načíst aspoň jednu gramatiku rozpoznávání řeči a nakonfigurovat vstup pro rozpoznávání řeči.

Pokud chcete načíst gramatiku, zavolejte ji nebo LoadGrammarAsync metoduLoadGrammar.

Ke konfiguraci zvukového vstupu použijte jednu z následujících metod:

Platí pro

SpeechRecognitionEngine(RecognizerInfo)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Inicializuje novou instanci SpeechRecognitionEngine pomocí informací v objektu RecognizerInfo k určení rozpoznávání, který se má použít.

public:
 SpeechRecognitionEngine(System::Speech::Recognition::RecognizerInfo ^ recognizerInfo);
public SpeechRecognitionEngine(System.Speech.Recognition.RecognizerInfo recognizerInfo);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Speech.Recognition.RecognizerInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerInfo As RecognizerInfo)

Parametry

recognizerInfo
RecognizerInfo

Informace pro konkrétní rozpoznávání řeči.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči a inicializuje rozpoznávání řeči, která podporuje anglický jazyk.

 using System;
using System.Speech.Recognition;

namespace SpeechRecognitionApp
{
  class Program
  {
    static void Main(string[] args)
    {

      // Select a speech recognizer that supports English.
      RecognizerInfo info = null;
      foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
      {
        if (ri.Culture.TwoLetterISOLanguageName.Equals("en"))
        {
          info = ri;
          break;
        }
      }
      if (info == null) return;

      // Create the selected recognizer.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(info))
      {

        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Add a handler for the speech recognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start asynchronous, continuous speech recognition.
        recognizer.RecognizeAsync(RecognizeMode.Multiple);

        // Keep the console window open.
        while (true)
        {
          Console.ReadLine();
        }
      }
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Recognized text: " + e.Result.Text);
    }
  }
}

Poznámky

Můžete vytvořit instanci této třídy pro kterýkoli z nainstalovaných rozpoznávání řeči. Chcete-li získat informace o tom, které nástroje rozpoznávání jsou nainstalovány, použijte metodu InstalledRecognizers .

Než rozpoznávání řeči začne rozpoznávat, musíte načíst aspoň jednu gramatiku rozpoznávání řeči a nakonfigurovat vstup pro rozpoznávání řeči.

Pokud chcete načíst gramatiku, zavolejte ji nebo LoadGrammarAsync metoduLoadGrammar.

Ke konfiguraci zvukového vstupu použijte jednu z následujících metod:

Platí pro

SpeechRecognitionEngine(String)

Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs
Zdroj:
SpeechRecognitionEngine.cs

Inicializuje novou instanci SpeechRecognitionEngine třídy s řetězcový parametr, který určuje název rozpoznávání, který se má použít.

public:
 SpeechRecognitionEngine(System::String ^ recognizerId);
public SpeechRecognitionEngine(string recognizerId);
new System.Speech.Recognition.SpeechRecognitionEngine : string -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerId As String)

Parametry

recognizerId
String

Název tokenu rozpoznávání řeči, který se má použít.

Výjimky

Není nainstalován žádný rozpoznávání řeči s tímto názvem tokenu nebo recognizerId je prázdný řetězec ("").

recognizerId je null.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči a vytvoří instanci rozpoznávání řeči 8.0 pro Windows (angličtina – USA).

using System;
using System.Speech.Recognition;

namespace SpeechRecognitionApp
{
  class Program
  {
    static void Main(string[] args)
    {

      // Create an instance of the Microsoft Speech Recognizer 8.0 for
      // Windows (English - US).
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine("MS-1033-80-DESK"))
      {

        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Add a handler for the speech recognized event.
        recognizer.SpeechRecognized += new EventHandler(recognizer_SpeechRecognized);

        // Configure input to the speech recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start asynchronous, continuous speech recognition.
        recognizer.RecognizeAsync(RecognizeMode.Multiple);

        // Keep the console window open.
        while (true)
        {
          Console.ReadLine();
        }
      }
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Recognized text: " + e.Result.Text);
    }
  }
}

Poznámky

Název tokenu rozpoznávání je hodnota Id vlastnosti RecognizerInfo objektu vráceného RecognizerInfo vlastností rozpoznávání. Pokud chcete získat kolekci všech nainstalovaných rozpoznávání, použijte statickou InstalledRecognizers metodu.

Než rozpoznávání řeči začne rozpoznávat, musíte načíst aspoň jednu gramatiku rozpoznávání řeči a nakonfigurovat vstup pro rozpoznávání řeči.

Pokud chcete načíst gramatiku, zavolejte ji nebo LoadGrammarAsync metoduLoadGrammar.

Ke konfiguraci zvukového vstupu použijte jednu z následujících metod:

Platí pro