SpeechRecognitionEngine Конструкторы

Определение

Инициализирует новый экземпляр класса SpeechRecognitionEngine.

Перегрузки

Имя Описание
SpeechRecognitionEngine()

Инициализирует новый экземпляр SpeechRecognitionEngine класса с помощью распознавателя речи по умолчанию для системы.

SpeechRecognitionEngine(CultureInfo)

Инициализирует новый экземпляр SpeechRecognitionEngine класса с помощью распознавателя речи по умолчанию для указанного языкового стандарта.

SpeechRecognitionEngine(RecognizerInfo)

Инициализирует новый экземпляр с помощью сведений SpeechRecognitionEngine в объекте RecognizerInfo , чтобы указать распознаватель для использования.

SpeechRecognitionEngine(String)

Инициализирует новый экземпляр SpeechRecognitionEngine класса строковым параметром, указывающим имя используемого распознавателя.

Комментарии

Вы можете создать SpeechRecognitionEngine экземпляр из любого из следующих элементов:

  • Модуль распознавания речи по умолчанию для системы

  • Определенный механизм распознавания речи, указанный по имени

  • Модуль распознавания речи по умолчанию для указанного языкового стандарта

  • Определенный механизм распознавания, соответствующий критериям, заданным в объекте RecognizerInfo .

Прежде чем распознаватель речи сможет начать распознавание речи, необходимо загрузить по крайней мере одну грамматику распознавания речи и настроить входные данные для распознавателя.

Чтобы загрузить грамматику, вызовите LoadGrammar или LoadGrammarAsync метод.

Чтобы настроить входной звук, используйте один из следующих методов:

SpeechRecognitionEngine()

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs

Инициализирует новый экземпляр SpeechRecognitionEngine класса с помощью распознавателя речи по умолчанию для системы.

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

Комментарии

Прежде чем распознаватель речи сможет начать распознавание речи, необходимо загрузить по крайней мере одну грамматику распознавания и настроить входные данные для распознавателя.

Чтобы загрузить грамматику, вызовите LoadGrammar или LoadGrammarAsync метод.

Чтобы настроить входной звук, используйте один из следующих методов:

Применяется к

SpeechRecognitionEngine(CultureInfo)

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs

Инициализирует новый экземпляр SpeechRecognitionEngine класса с помощью распознавателя речи по умолчанию для указанного языкового стандарта.

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)

Параметры

culture
CultureInfo

Языковой стандарт, который должен поддерживать распознаватель речи.

Исключения

Ни один из установленных распознавателей речи не поддерживает указанный языковой стандарт или culture не является инвариантным языком и региональными параметрами.

Culture равно null.

Примеры

В следующем примере показана часть консольного приложения, демонстрирующего базовое распознавание речи, инициализирует распознаватель речи для языкового стандарта en-US.

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);
    }
  }
}

Комментарии

Microsoft Windows и API System.Speech принимают все допустимые коды стран языка. Чтобы выполнить распознавание речи с помощью языка, указанного в аргументе CultureInfo , необходимо установить подсистему распознавания речи, поддерживающую код страны языка. Механизмы распознавания речи, которые поставляется с Microsoft Windows 7, работают со следующими кодами стран языка.

  • en-GB. английский (Соединенное Королевство)

  • en-US. Английский (Соединенные Штаты)

  • de-DE. Немецкий (Германия)

  • es-ES. Испанский (Испания)

  • fr-FR. французский (Франция)

  • ja-JP. Японский (Япония)

  • zh-CN. Китайский язык (Китай)

  • zh-TW. Китайский (Тайвань)

Также разрешены двубуквные языковые коды, такие как en, fr или es.

Прежде чем распознаватель речи сможет начать распознавание речи, необходимо загрузить по крайней мере одну грамматику распознавания речи и настроить входные данные для распознавателя.

Чтобы загрузить грамматику, вызовите LoadGrammar или LoadGrammarAsync метод.

Чтобы настроить входной звук, используйте один из следующих методов:

Применяется к

SpeechRecognitionEngine(RecognizerInfo)

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs

Инициализирует новый экземпляр с помощью сведений SpeechRecognitionEngine в объекте RecognizerInfo , чтобы указать распознаватель для использования.

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)

Параметры

recognizerInfo
RecognizerInfo

Сведения для определенного распознавателя речи.

Примеры

В следующем примере показана часть консольного приложения, демонстрирующего базовое распознавание речи, инициализирует распознаватель речи, поддерживающий английский язык.

 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);
    }
  }
}

Комментарии

Экземпляр этого класса можно создать для любого установленного распознавателя речи. Чтобы получить сведения о том, какие распознаватели установлены, используйте InstalledRecognizers этот метод.

Прежде чем распознаватель речи сможет начать распознавание речи, необходимо загрузить по крайней мере одну грамматику распознавания речи и настроить входные данные для распознавателя.

Чтобы загрузить грамматику, вызовите LoadGrammar или LoadGrammarAsync метод.

Чтобы настроить входной звук, используйте один из следующих методов:

Применяется к

SpeechRecognitionEngine(String)

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs

Инициализирует новый экземпляр SpeechRecognitionEngine класса строковым параметром, указывающим имя используемого распознавателя.

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)

Параметры

recognizerId
String

Имя маркера используемого распознавателя речи.

Исключения

Распознаватель речи с таким именем токена не установлен или recognizerId является пустой строкой ("").

recognizerId равно null.

Примеры

В следующем примере показана часть консольного приложения, демонстрирующего базовое распознавание речи, и создается экземпляр распознавателя речи 8.0 для Windows (английский — США).

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);
    }
  }
}

Комментарии

Имя маркера распознавателя — это значение Id свойства RecognizerInfo объекта, возвращаемого свойством RecognizerInfo распознавателя. Чтобы получить коллекцию всех установленных распознавателей, используйте статический InstalledRecognizers метод.

Прежде чем распознаватель речи сможет начать распознавание речи, необходимо загрузить по крайней мере одну грамматику распознавания речи и настроить входные данные для распознавателя.

Чтобы загрузить грамматику, вызовите LoadGrammar или LoadGrammarAsync метод.

Чтобы настроить входной звук, используйте один из следующих методов:

Применяется к