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 sdílené službě 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čítá 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 Windows Rozpoznávání řeči není spuštěné, spuštěním této aplikace se spustí také Windows Rozpoznávání řeči. Pokud je Windows Rozpoznávání řeči v režimu spánku , EmulateRecognizeAsync vrátí vždy 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ávání pro přístup k Windows Rozpoznávání řeči. Objekt můžete SpeechRecognizer použít k přidání do uživatelského prostředí řeči ve 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 LoadGrammar, LoadGrammarAsync, UnloadGrammar, UnloadAllGrammarsa Grammars.
Pokud chcete získat informace o aktuálních operacích rozpoznávání řeči, přihlaste se k odběru SpeechRecognizerSpeechDetectedudálostí , SpeechHypothesized, SpeechRecognitionRejecteda SpeechRecognized .
Pokud chcete zobrazit nebo upravit počet alternativních výsledků, které rozpoznávání vrátí, použijte MaxAlternates vlastnost . Rozpoznávání vrátí výsledky rozpoznávání v objektu RecognitionResult .
Pokud chcete získat přístup k sdílenému rozpoznávání nebo ho monitorovat, použijte AudioLevelvlastnosti , AudioPositionPauseRecognizerOnRecognitionEnabledAudioState, RecognizerAudioPositiona State a AudioLevelUpdatedudálosti , AudioSignalProblemOccurredAudioStateChanged, a .StateChanged
Pokud chcete synchronizovat změny do 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.
Pokud chcete emulovat vstup do sdíleného rozpoznávání, použijte EmulateRecognize metody a EmulateRecognizeAsync .
Konfigurace Windows Rozpoznávání řeči se spravuje pomocí dialogového okna Vlastnosti řeči v Ovládací panely. Toto rozhraní slouží k výběru výchozího desktopového modulu pro rozpoznávání řeči a jazyka, zvukového vstupního zařízení a chování rozpoznávání řeči v režimu spánku. Pokud se konfigurace Windows Rozpoznávání řeči změní, když je aplikace spuštěná (například pokud je rozpoznávání řeči zakázané nebo se změní jazyk zadávání), změna ovlivní všechny SpeechRecognizer objekty.
Pokud chcete vytvořit nástroj pro rozpoznávání řeči v procesu, který je nezávislý na Windows Rozpoznávání řeči, 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 . V opačném případě nebudou prostředky, které používá, uvolněny, dokud systém uvolňování paměti nezavolá metodu objektu Finalize
rozpoznávání.
Konstruktory
SpeechRecognizer() |
Inicializuje novou instanci SpeechRecognizer třídy . |
Vlastnosti
AudioFormat |
Získá formát zvuku, který přijímá rozpoznávání řeči. |
AudioLevel |
Získá úroveň zvuku, který přijímá rozpoznávání řeči. |
AudioPosition |
Získá aktuální umístění ve zvukovém streamu generovaném zařízením, které poskytuje vstup rozpoznávání řeči. |
AudioState |
Získá stav zvuku, který přijímá rozpoznávání ř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ávání pozastaví operace rozpoznávání, zatímco 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 sdíleném rozpoznávání řeči. |
State |
Získá stav objektu SpeechRecognizer . |
Metody
Dispose() |
SpeechRecognizer Odstraní objekt. |
Dispose(Boolean) |
SpeechRecognizer Odstraní objekt a uvolní prostředky použité během relace. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emuluje zadávání určitých slov do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávání zpracovává porovnání slov v kódování Unicode mezi slovy a načtenými gramatikami rozpoznávání řeči. |
EmulateRecognize(String) |
Emuluje zadávání fráze do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči. |
EmulateRecognize(String, CompareOptions) |
Emuluje vstup fráze do sdíleného nástroje pro rozpoznávání řeči pomocí textu místo zvuku pro synchronní rozpoznávání řeči a určuje, jak rozpoznávání zpracovává porovnání unicode mezi frází a načtenou gramatikou rozpoznávání řeči. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emuluje zadávání konkrétních slov do sdíleného rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávání zpracovává porovnání slov v kódování Unicode mezi slovy 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. |
EmulateRecognizeAsync(String, CompareOptions) |
Emuluje vstup fráze do sdíleného nástroje pro rozpoznávání řeči pomocí textu místo zvuku pro asynchronní rozpoznávání řeči a určuje, jak rozpoznávací modul zpracovává porovnání fráze v kódování Unicode mezi frází a načtenou gramatikou rozpoznávání řeči. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z 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 Objectsouboru . (Zděděno od Object) |
RequestRecognizerUpdate() |
Požaduje, aby sdílený rozpoznávání pozastavil a aktualizoval svůj stav. |
RequestRecognizerUpdate(Object) |
Požádá sdílené rozpoznávání o pozastavení a aktualizaci svého stavu a poskytne token uživatele pro přidruženou událost. |
RequestRecognizerUpdate(Object, TimeSpan) |
Požaduje, aby sdílený nástroj pro rozpoznávání pozastavil a aktualizoval svůj stav a aby pro přidruženou událost poskytoval posun a token uživatele. |
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 rozpoznávání. |
UnloadGrammar(Grammar) |
Uvolní zadanou gramatiku rozpoznávání řeči ze sdíleného rozpoznávání. |
Událost
AudioLevelUpdated |
Vyvolá se, když sdílený rozpoznávání hlásí úroveň svého zvukového vstupu. |
AudioSignalProblemOccurred |
Vyvolá se, když rozpoznávání narazí na problém ve zvukovém signálu. |
AudioStateChanged |
Vyvolá se při změně stavu zvuku, který přijímá rozpoznávání. |
EmulateRecognizeCompleted |
Nastane, když sdílené rozpoznávání 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 |
Vyvolá se, když rozpoznávání pozastaví synchronizaci rozpoznávání a dalších operací. |
SpeechDetected |
Vyvolá se, když rozpoznávání rozpozná vstup, který dokáže identifikovat jako řeč. |
SpeechHypothesized |
Vyvolá se v případě, že nástroj pro rozpoznávání rozpoznal slovo nebo slova, která mohou být součástí více úplných frází v gramatice. |
SpeechRecognitionRejected |
Vyvolá se, když rozpoznávání obdrží vstup, který neodpovídá žádné z gramatiky rozpoznávání řeči, které načetl. |
SpeechRecognized |
Vyvolá se, 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í modulu rozpoznávání řeči windows desktopové technologie řeči. |