Поделиться через


SpeechRecognizer Класс

Определение

Предоставляет доступ к общей доступной службе распознавания речи на рабочем столе Windows.

public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
    interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
Наследование
SpeechRecognizer
Реализации

Примеры

Следующий пример является частью консольного приложения, которое загружает грамматику распознавания речи и демонстрирует асинхронные эмулированные входные данные, связанные результаты распознавания и связанные события, вызванные распознавателями речи. Если функция распознавания речи Windows не запущена, запуск этого приложения также запустит распознавание речи Windows. Если распознавание речи Windows находится в спящем состоянии, всегда EmulateRecognizeAsync возвращает значение 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;  
    }  
  }  
}  

Комментарии

Приложения используют общий распознаватель для доступа к распознаванию речи Windows. Используйте объект , SpeechRecognizer чтобы добавить к пользовательскому интерфейсу распознавания речи Windows.

Этот класс обеспечивает контроль над различными аспектами процесса распознавания речи:

Настройка распознавания речи Windows управляется с помощью диалогового окна "Свойства речи" в панель управления. Этот интерфейс используется для выбора классического механизма распознавания речи и языка по умолчанию, звукового устройства ввода и поведения распознавания речи в спящем режиме. Если конфигурация распознавания речи Windows изменяется во время работы приложения (например, если распознавание речи отключено или язык ввода изменен), это изменение затрагивает все SpeechRecognizer объекты.

Чтобы создать внутрипроцессный распознаватель речи, не зависящий от распознавания речи Windows, используйте SpeechRecognitionEngine класс .

Примечание

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

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

SpeechRecognizer()

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

Свойства

AudioFormat

Получает формат аудио, принимаемого распознавателем речи.

AudioLevel

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

AudioPosition

Получает текущую позицию в аудиопотоке, создаваемом устройством, которое предоставляет входные данные для распознавателя речи.

AudioState

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

Enabled

Получает или задает значение, указывающее, готов ли данный объект SpeechRecognizer к обработке речи.

Grammars

Получает коллекцию объектов Grammar, загруженных в данных экземпляр SpeechRecognizer.

MaxAlternates

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

PauseRecognizerOnRecognition

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

RecognizerAudioPosition

Получает текущую позицию распознавателя в обрабатываемых им входных аудиоданных.

RecognizerInfo

Получает сведения об общем распознавателе речи.

State

Получает состояние объекта SpeechRecognizer.

Методы

Dispose()

Удаляет объект SpeechRecognizer.

Dispose(Boolean)

Удаляет объект SpeechRecognizer и освобождает ресурсы, используемые во время сеанса.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognize(String)

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

EmulateRecognize(String, CompareOptions)

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

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognizeAsync(String)

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

EmulateRecognizeAsync(String, CompareOptions)

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

Equals(Object)

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

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
LoadGrammar(Grammar)

Загружает грамматику распознавания речи.

LoadGrammarAsync(Grammar)

Выполняет асинхронную загрузку грамматики распознавания речи.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RequestRecognizerUpdate()

Запрашивает, чтобы общий распознаватель приостановился и обновил свое состояние.

RequestRecognizerUpdate(Object)

Запрашивает, чтобы общий распознаватель приостановился и обновил состояние и предоставил токен пользователя для связанного события.

RequestRecognizerUpdate(Object, TimeSpan)

Запрашивает, чтобы общий распознаватель приостановился и обновил свое состояния и предоставил смещение и токен пользователя для связанного события.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnloadAllGrammars()

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

UnloadGrammar(Grammar)

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

События

AudioLevelUpdated

Происходит, когда общий распознаватель сообщает об уровне аудиовхода.

AudioSignalProblemOccurred

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

AudioStateChanged

Происходит при изменении состояния аудио, получаемого распознавателем.

EmulateRecognizeCompleted

Происходит, когда общий распознаватель завершает асинхронную операцию распознавания для эмулированного ввода.

LoadGrammarCompleted

Происходит при завершении асинхронной загрузки грамматики распознавания речи средством распознавания.

RecognizerUpdateReached

Происходит при приостановке работы распознавателя с целью синхронизировать распознавание и другие операции.

SpeechDetected

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

SpeechHypothesized

Происходит, когда распознаватель распознал слово или слова, которые могут входить в состав нескольких полных фраз в грамматике.

SpeechRecognitionRejected

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

SpeechRecognized

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

StateChanged

Происходит при изменении рабочего состояния механизма распознавания технологии Windows Desktop Speech.

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

См. также раздел