SpeechRecognizer Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt toegang tot de gedeelde spraakherkenningsservice die beschikbaar is op het Windows desktop.
public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
- Overname
-
SpeechRecognizer
- Implementeringen
Voorbeelden
Het volgende voorbeeld maakt deel uit van een consoletoepassing die een grammatica van spraakherkenning laadt en asynchrone geëmuleerde invoer demonstreert, de bijbehorende herkenningsresultaten en de bijbehorende gebeurtenissen die door de spraakherkenning worden gegenereerd. Als Windows Spraakherkenning niet wordt uitgevoerd, wordt het starten van deze toepassing ook gestart Windows Spraakherkenning. Als Windows Spraakherkenning de status Sleeping heeft, retourneert EmulateRecognizeAsync altijd 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;
}
}
}
Opmerkingen
Toepassingen gebruiken de shared recognizer voor toegang tot Windows spraakherkenning. Gebruik het object SpeechRecognizer om toe te voegen aan de Windows spraakgebruikerservaring.
Deze klasse biedt controle over verschillende aspecten van het spraakherkenningsproces:
Als u grammaticaën voor spraakherkenning wilt beheren, gebruikt u de LoadGrammar, LoadGrammarAsync, UnloadGrammaren UnloadAllGrammars.Grammars
Als u informatie wilt over huidige spraakherkenningsbewerkingen, abonneert u zich op de SpeechRecognizer'sSpeechDetected, SpeechHypothesizedSpeechRecognitionRejecteden SpeechRecognized gebeurtenissen.
Als u het aantal alternatieve resultaten wilt weergeven of wijzigen dat door de recognizer wordt geretourneerd, gebruikt u de MaxAlternates eigenschap. De recognizer retourneert herkenningsresultaten in een RecognitionResult object.
Als u de status van de gedeelde recognizer wilt openen of bewaken, gebruikt u de AudioLeveleigenschappen , , EnabledPauseRecognizerOnRecognitionAudioPositionAudioState, , RecognizerAudioPositionen State eigenschappen en de AudioSignalProblemOccurredAudioLevelUpdated, en AudioStateChangedStateChanged gebeurtenissen.
Als u wijzigingen wilt synchroniseren met de recognizer, gebruikt u de RequestRecognizerUpdate methode. De shared recognizer gebruikt meer dan één thread om taken uit te voeren.
Als u invoer wilt emuleren voor de gedeelde herkenning, gebruikt u de EmulateRecognize en EmulateRecognizeAsync methoden.
De configuratie van Windows Spraakherkenning wordt beheerd door het dialoogvenster Speech Properties in het dialoogvenster Configuratiescherm. Deze interface wordt gebruikt voor het selecteren van de standaard-engine voor spraakherkenning op het bureaublad, het audio-invoerapparaat en het slaapstandgedrag van spraakherkenning. Als de configuratie van Windows Spraakherkenning wordt gewijzigd terwijl de toepassing wordt uitgevoerd (bijvoorbeeld als spraakherkenning is uitgeschakeld of de invoertaal wordt gewijzigd), is de wijziging van invloed op alle SpeechRecognizer-objecten.
Als u een in-process spraakherkenning wilt maken die onafhankelijk is van Windows Spraakherkenning, gebruikt u de klasse SpeechRecognitionEngine.
Note
Roep altijd aan Dispose voordat u uw laatste verwijzing naar de spraakherkenning loslaat. Anders worden de resources die het gebruikt niet vrijgemaakt totdat de garbagecollector de methode van Finalize het recognizer-object aanroept.
Constructors
| Name | Description |
|---|---|
| SpeechRecognizer() |
Initialiseert een nieuw exemplaar van de SpeechRecognizer klasse. |
Eigenschappen
| Name | Description |
|---|---|
| AudioFormat |
Hiermee haalt u de indeling op van de audio die wordt ontvangen door de spraakherkenning. |
| AudioLevel |
Hiermee haalt u het niveau op van de audio die wordt ontvangen door de spraakherkenning. |
| AudioPosition |
Hiermee haalt u de huidige locatie op in de audiostream die wordt gegenereerd door het apparaat dat invoer levert aan de spraakherkenning. |
| AudioState |
Hiermee haalt u de status op van de audio die wordt ontvangen door de spraakherkenning. |
| Enabled |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of dit SpeechRecognizer object gereed is voor het verwerken van spraak. |
| Grammars |
Hiermee haalt u een verzameling van de Grammar objecten op die in dit SpeechRecognizer exemplaar worden geladen. |
| MaxAlternates |
Hiermee wordt het maximum aantal alternatieve herkenningsresultaten opgehaald of ingesteld dat de shared recognizer retourneert voor elke herkenningsbewerking. |
| PauseRecognizerOnRecognition |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de shared recognizer herkenningsbewerkingen onderbreekt terwijl een toepassing een SpeechRecognized gebeurtenis verwerkt. |
| RecognizerAudioPosition |
Hiermee haalt u de huidige locatie van de recognizer op in de audio-invoer die wordt verwerkt. |
| RecognizerInfo |
Hiermee haalt u informatie op over de gedeelde spraakherkenning. |
| State |
Hiermee haalt u de status van een SpeechRecognizer object op. |
Methoden
| Name | Description |
|---|---|
| Dispose() |
Hiermee wordt het SpeechRecognizer object verwijderd. |
| Dispose(Boolean) |
Hiermee verwijdert u het SpeechRecognizer object en verwijdert u resources die tijdens de sessie worden gebruikt. |
| EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emulatie van invoer van specifieke woorden aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning en wordt aangegeven hoe de recognizer Unicode-vergelijking tussen de woorden en de geladen grammatica voor spraakherkenning verwerkt. |
| EmulateRecognize(String, CompareOptions) |
Emulatie van invoer van een woordgroep aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning en wordt aangegeven hoe de recognizer Unicode-vergelijking tussen de woordgroep en de geladen grammatica voor spraakherkenning verwerkt. |
| EmulateRecognize(String) |
Emulatie van invoer van een woordgroep aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning. |
| EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emulatie van invoer van specifieke woorden aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning en wordt aangegeven hoe de recognizer Unicode-vergelijking verwerkt tussen de woorden en de geladen grammatica voor spraakherkenning. |
| EmulateRecognizeAsync(String, CompareOptions) |
Emulatie van invoer van een woordgroep voor de gedeelde spraakherkenning, met behulp van tekst in plaats van audio voor asynchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woordgroep en de geladen grammatica's voor spraakherkenning verwerkt. |
| EmulateRecognizeAsync(String) |
Emulatie van invoer van een woordgroep aan de gedeelde spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor asynchrone spraakherkenning. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| LoadGrammar(Grammar) |
Laadt een grammatica voor spraakherkenning. |
| LoadGrammarAsync(Grammar) |
Asynchroon laadt een grammatica voor spraakherkenning. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| RequestRecognizerUpdate() |
Hiermee wordt aangevraagd dat de gedeelde recognizer de status ervan onderbreekt en bijwerkt. |
| RequestRecognizerUpdate(Object, TimeSpan) |
Aanvragen die de status van de gedeelde recognizer onderbreken en bijwerken en een offset en een gebruikerstoken voor de bijbehorende gebeurtenis bieden. |
| RequestRecognizerUpdate(Object) |
Aanvragen die de gedeelde recognizer onderbreken en de status ervan bijwerken en een gebruikerstoken voor de bijbehorende gebeurtenis bieden. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| UnloadAllGrammars() |
Hiermee worden alle grammatica's voor spraakherkenning uit de gedeelde herkenning verwijderd. |
| UnloadGrammar(Grammar) |
Hiermee wordt een opgegeven grammatica voor spraakherkenning van de gedeelde herkenning verwijderd. |
gebeurtenis
| Name | Description |
|---|---|
| AudioLevelUpdated |
Treedt op wanneer de shared recognizer het niveau van de audio-invoer rapporteert. |
| AudioSignalProblemOccurred |
Treedt op wanneer de recognizer een probleem ondervindt in het audiosignaal. |
| AudioStateChanged |
Treedt op wanneer de status verandert in de audio die wordt ontvangen door de recognizer. |
| EmulateRecognizeCompleted |
Treedt op wanneer de shared recognizer een asynchrone herkenningsbewerking voor geëmuleerde invoer voltooit. |
| LoadGrammarCompleted |
Treedt op wanneer de recognizer klaar is met het asynchrone laden van een grammatica voor spraakherkenning. |
| RecognizerUpdateReached |
Treedt op wanneer de recognizer pauzeert om herkenning en andere bewerkingen te synchroniseren. |
| SpeechDetected |
Treedt op wanneer de recognizer invoer detecteert die als spraak kan worden geïdentificeerd. |
| SpeechHypothesized |
Treedt op wanneer de recognizer een woord of woorden heeft herkend die een onderdeel kunnen zijn van meerdere volledige woordgroepen in een grammatica. |
| SpeechRecognitionRejected |
Treedt op wanneer de recognizer invoer ontvangt die niet overeenkomt met een van de grammatica's voor spraakherkenning die is geladen. |
| SpeechRecognized |
Treedt op wanneer de recognizer invoer ontvangt die overeenkomt met een van de grammatica's voor spraakherkenning. |
| StateChanged |
Treedt op wanneer de actieve status van de Windows engine voor spraaktechnologie wordt gewijzigd. |