SpeechRecognizer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce l'accesso al servizio condiviso di riconoscimento vocale disponibile sul desktop di Windows.
public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
- Ereditarietà
-
SpeechRecognizer
- Implementazioni
Esempio
L'esempio seguente fa parte di un'applicazione console che carica una grammatica di riconoscimento vocale e illustra l'input emulato asincrono, i risultati di riconoscimento associati e gli eventi associati generati dal riconoscimento vocale. Se Riconoscimento vocale Windows non è in esecuzione, l'avvio dell'applicazione avvierà anche Riconoscimento vocale Windows. Se il riconoscimento vocale di Windows è in stato di sospensione , EmulateRecognizeAsync restituisce sempre 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;
}
}
}
Commenti
Le applicazioni usano il riconoscitore condiviso per accedere al riconoscimento vocale Windows. Usare l'oggetto SpeechRecognizer per aggiungere all'esperienza utente di riconoscimento vocale di Windows.
Questa classe fornisce il controllo su vari aspetti del processo di riconoscimento vocale:
Per gestire le grammatiche di riconoscimento vocale, usare LoadGrammar, LoadGrammarAsync, UnloadGrammar, UnloadAllGrammarse Grammars.
Per ottenere informazioni sulle operazioni di riconoscimento vocale correnti, sottoscrivere gli SpeechRecognizereventi , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized di SpeechDetected.
Per visualizzare o modificare il numero di risultati alternativi restituiti dal riconoscitore, utilizzare la MaxAlternates proprietà . Il riconoscitore restituisce i risultati del riconoscimento in un RecognitionResult oggetto .
Per accedere o monitorare lo stato del riconoscitore condiviso, usare le AudioLevelproprietà , AudioPosition, AudioState, EnabledPauseRecognizerOnRecognition, RecognizerAudioPosition, e State e gli AudioLevelUpdatedeventi , AudioStateChangedAudioSignalProblemOccurred, e StateChanged .
Per sincronizzare le modifiche apportate al sistema di riconoscimento, usare il RequestRecognizerUpdate metodo . Il riconoscitore condiviso usa più di un thread per eseguire attività.
Per emulare l'input al riconoscitore condiviso, usare i EmulateRecognize metodi e EmulateRecognizeAsync .
La configurazione di Riconoscimento vocale Windows viene gestita dall'uso della finestra di dialogo Proprietà voce nel Pannello di controllo. Questa interfaccia viene usata per selezionare il motore e la lingua di riconoscimento vocale desktop predefiniti, il dispositivo di input audio e il comportamento di sospensione del riconoscimento vocale. Se la configurazione di Riconoscimento vocale di Windows viene modificata durante l'esecuzione dell'applicazione, ad esempio se il riconoscimento vocale è disabilitato o la lingua di input viene modificata, la modifica influisce su tutti gli SpeechRecognizer oggetti.
Per creare un riconoscimento vocale in-process indipendente da Riconoscimento vocale Windows, usare la SpeechRecognitionEngine classe .
Nota
Chiamare Dispose sempre prima di rilasciare l'ultimo riferimento al riconoscimento vocale. In caso contrario, le risorse in uso non verranno liberate finché il Garbage Collector non chiamerà il metodo dell'oggetto Finalize
recognizer.
Costruttori
SpeechRecognizer() |
Inizializza una nuova istanza della classe SpeechRecognizer. |
Proprietà
AudioFormat |
Ottiene il formato dell'audio ricevuto dal riconoscimento vocale. |
AudioLevel |
Ottiene il livello dell'audio ricevuto dal riconoscimento vocale. |
AudioPosition |
Ottiene la posizione corrente nel flusso audio generato dal dispositivo che fornisce l'input al riconoscimento vocale. |
AudioState |
Ottiene lo stato dell'audio ricevuto dal riconoscimento vocale. |
Enabled |
Ottiene o imposta un valore che indica se l'oggetto SpeechRecognizer è pronto per l'elaborazione vocale. |
Grammars |
Ottiene una raccolta di oggetti Grammar caricati in questa istanza di SpeechRecognizer. |
MaxAlternates |
Ottiene o imposta il numero massimo di risultati del riconoscimento alternativi che il riconoscimento condiviso restituisce per ogni operazione di riconoscimento. |
PauseRecognizerOnRecognition |
Ottiene o imposta un valore che indica se il riconoscimento condiviso sospende le operazioni di riconoscimento quando un'applicazione gestisce un evento SpeechRecognized. |
RecognizerAudioPosition |
Ottiene la posizione corrente del riconoscimento nell'input audio in fase di elaborazione. |
RecognizerInfo |
Ottiene informazioni sul riconoscimento vocale condiviso. |
State |
Ottiene lo stato di un oggetto SpeechRecognizer. |
Metodi
Dispose() |
Elimina l'oggetto SpeechRecognizer. |
Dispose(Boolean) |
Elimina l'oggetto SpeechRecognizer e rilascia le risorse usate durante la sessione. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula l'input di parole specifiche al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate. |
EmulateRecognize(String) |
Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono. |
EmulateRecognize(String, CompareOptions) |
Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emula l'input di parole specifiche al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate. |
EmulateRecognizeAsync(String) |
Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono. |
EmulateRecognizeAsync(String, CompareOptions) |
Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
LoadGrammar(Grammar) |
Carica una grammatica di riconoscimento vocale. |
LoadGrammarAsync(Grammar) |
Carica in modo asincrono una grammatica di riconoscimento vocale. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
RequestRecognizerUpdate() |
Richiede la sospensione del riconoscimento condiviso e l'aggiornamento dello stato. |
RequestRecognizerUpdate(Object) |
Richiede la sospensione del riconoscimento condiviso, l'aggiornamento dello stato e la fornitura di un token utente per l'evento associato. |
RequestRecognizerUpdate(Object, TimeSpan) |
Richiede la sospensione del riconoscimento condiviso, l'aggiornamento dello stato e la fornitura di un offset e un token utente per l'evento associato. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
UnloadAllGrammars() |
Scarica tutte le grammatiche di riconoscimento vocale dal riconoscimento condiviso. |
UnloadGrammar(Grammar) |
Scarica una grammatica di riconoscimento vocale specificata dal riconoscimento condiviso. |
Eventi
AudioLevelUpdated |
Viene generato quando il riconoscimento condiviso segnala il livello del relativo input audio. |
AudioSignalProblemOccurred |
Viene generato quando il riconoscimento rileva un problema nel segnale audio. |
AudioStateChanged |
Viene generato in seguito alla modifica dello stato nell'audio ricevuto dal riconoscimento. |
EmulateRecognizeCompleted |
Viene generato quando il riconoscimento condiviso completa un'operazione di riconoscimento asincrona per l'input emulato. |
LoadGrammarCompleted |
Viene generato quando il riconoscimento termina il caricamento asincrono di una grammatica del riconoscimento vocale. |
RecognizerUpdateReached |
Viene generato quando il riconoscimento viene sospeso per sincronizzare il riconoscimento e altre operazioni. |
SpeechDetected |
Viene generato quando il riconoscimento rileva un input identificabile come funzione vocale. |
SpeechHypothesized |
Viene generato quando il riconoscimento ha riconosciuto le parole che possono essere componenti di più frasi complete in una grammatica. |
SpeechRecognitionRejected |
Viene generato quando il riconoscimento riceve un input che non corrisponde ad alcuna grammatica di riconoscimento vocale caricata. |
SpeechRecognized |
Viene generato quando il riconoscimento riceve un input che corrisponde a una delle relative grammatiche di riconoscimento vocale. |
StateChanged |
Viene generato quando lo stato di esecuzione del motore di riconoscimento della tecnologia Windows Desktop Speech viene modificato. |