SpeechRecognizer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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:
Ke správě gramatiky rozpoznávání řeči použijte LoadGrammarpříkaz , LoadGrammarAsyncUnloadGrammar, UnloadAllGrammars, a Grammars.
Pokud chcete získat informace o aktuálních operacích rozpoznávání řeči, přihlaste se k odběru SpeechRecognizerSpeechDetectedfunkce , SpeechHypothesized, SpeechRecognitionRejecteda SpeechRecognized událostí.
Pokud chcete zobrazit nebo upravit počet alternativních výsledků, které funkce rozpoznávání vrátí, použijte MaxAlternates tuto vlastnost. Rozpoznávání vrátí výsledky rozpoznávání v objektu RecognitionResult .
Pokud chcete získat přístup ke stavu sdíleného rozpoznávání nebo ho monitorovat, použijte příkazy AudioLevel, AudioPosition, AudioState, Enabled, RecognizerAudioPositionPauseRecognizerOnRecognitiona State vlastnosti a AudioStateChangedAudioLevelUpdatedAudioSignalProblemOccurredStateChanged události .
Pokud chcete synchronizovat změny v rozpoznávání, použijte metodu RequestRecognizerUpdate . Sdílený nástroj pro rozpoznávání používá k provádění úloh více než jedno vlákno.
K emulaci vstupu do sdíleného rozpoznávání použijte metody EmulateRecognize a EmulateRecognizeAsync metody.
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. |