SpeechRecognitionEngine.RequestRecognizerUpdate Methode
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.
Aanvragen die de recognizer onderbreekt om de status bij te werken.
Overloads
| Name | Description |
|---|---|
| RequestRecognizerUpdate(Object, TimeSpan) |
Aanvragen die de recognizer onderbreekt om de status bij te werken en biedt een offset en een gebruikerstoken voor de bijbehorende gebeurtenis. |
| RequestRecognizerUpdate(Object) |
Aanvragen die de recognizer onderbreekt om de status bij te werken en een gebruikerstoken voor de bijbehorende gebeurtenis biedt. |
| RequestRecognizerUpdate() |
Aanvragen die de recognizer onderbreekt om de status bij te werken. |
Opmerkingen
Gebruik deze methode om wijzigingen te synchroniseren met de recognizer. Als u bijvoorbeeld een grammatica voor spraakherkenning laadt of ontlaadt terwijl de recognizer invoer verwerkt, gebruikt u deze methode en de RecognizerUpdateReached gebeurtenis om uw toepassingsgedrag te synchroniseren met de status van de recognizer.
Wanneer deze methode wordt aangeroepen, onderbreekt of voltooit de recognizer asynchrone bewerkingen en genereert een RecognizerUpdateReached gebeurtenis. Een RecognizerUpdateReached gebeurtenishandler kan vervolgens de status van de recognizer tussen herkenningsbewerkingen wijzigen. Bij het verwerken van RecognizerUpdateReached gebeurtenissen wordt de recognizer onderbroken totdat de gebeurtenis-handler terugkeert.
Note
Als de invoer voor de recognizer wordt gewijzigd voordat de recognizer de RecognizerUpdateReached gebeurtenis genereert, wordt de aanvraag verwijderd.
Wanneer deze methode wordt aangeroepen:
Als de recognizer geen invoer verwerkt, genereert de recognizer onmiddellijk de RecognizerUpdateReached gebeurtenis.
Als de recognizer invoer verwerkt die bestaat uit stilte of achtergrondruis, wordt de herkenningsbewerking onderbroken en wordt de RecognizerUpdateReached gebeurtenis gegenereerd.
Als de recognizer invoer verwerkt die niet bestaat uit stilte of achtergrondruis, voltooit de recognizer de herkenningsbewerking en genereert de RecognizerUpdateReached gebeurtenis.
Terwijl de recognizer de RecognizerUpdateReached gebeurtenis verwerkt:
De recognizer verwerkt geen invoer en de waarde van de RecognizerAudioPosition eigenschap blijft hetzelfde.
De recognizer blijft invoer verzamelen en de waarde van de AudioPosition eigenschap kan veranderen.
RequestRecognizerUpdate(Object, TimeSpan)
Aanvragen die de recognizer onderbreekt om de status bij te werken en biedt een offset en een gebruikerstoken voor de bijbehorende gebeurtenis.
public:
void RequestRecognizerUpdate(System::Object ^ userToken, TimeSpan audioPositionAheadToRaiseUpdate);
public void RequestRecognizerUpdate(object userToken, TimeSpan audioPositionAheadToRaiseUpdate);
member this.RequestRecognizerUpdate : obj * TimeSpan -> unit
Public Sub RequestRecognizerUpdate (userToken As Object, audioPositionAheadToRaiseUpdate As TimeSpan)
Parameters
- userToken
- Object
Door de gebruiker gedefinieerde informatie die informatie bevat voor de bewerking.
- audioPositionAheadToRaiseUpdate
- TimeSpan
De verschuiving van de huidige AudioPosition om de aanvraag uit te stellen.
Opmerkingen
De recognizer initieert de aanvraag voor het bijwerken van de recognizer pas als de recognizer RecognizerAudioPosition gelijk is aan de huidige AudioPosition plus audioPositionAheadToRaiseUpdate.
Wanneer de recognizer de RecognizerUpdateReached gebeurtenis genereert, bevat de UserToken eigenschap van de RecognizerUpdateReachedEventArgs gebeurtenis de waarde van de userToken parameter.
Zie ook
Van toepassing op
RequestRecognizerUpdate(Object)
Aanvragen die de recognizer onderbreekt om de status bij te werken en een gebruikerstoken voor de bijbehorende gebeurtenis biedt.
public:
void RequestRecognizerUpdate(System::Object ^ userToken);
public void RequestRecognizerUpdate(object userToken);
member this.RequestRecognizerUpdate : obj -> unit
Public Sub RequestRecognizerUpdate (userToken As Object)
Parameters
- userToken
- Object
Door de gebruiker gedefinieerde informatie die informatie bevat voor de bewerking.
Opmerkingen
Wanneer de recognizer de RecognizerUpdateReached gebeurtenis genereert, bevat de UserToken eigenschap van de RecognizerUpdateReachedEventArgs gebeurtenis de waarde van de userToken parameter.
Als u een offset van de audiopositie wilt opgeven, gebruikt u de RequestRecognizerUpdate methode.
Zie ook
Van toepassing op
RequestRecognizerUpdate()
Aanvragen die de recognizer onderbreekt om de status bij te werken.
public:
void RequestRecognizerUpdate();
public void RequestRecognizerUpdate();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()
Voorbeelden
In het volgende voorbeeld ziet u een consoletoepassing waarmee objecten worden geladen en verwijderd Grammar . De toepassing gebruikt de RequestRecognizerUpdate methode om de spraakherkenningsengine aan te vragen om te onderbreken, zodat deze een update kan ontvangen. De toepassing laadt of verwijdert vervolgens een Grammar object.
Bij elke update schrijft een handler voor RecognizerUpdateReached gebeurtenis de naam en status van de momenteel geladen Grammar objecten naar de console. Naarmate grammatica's worden geladen en ontladen, herkent de toepassing eerst de namen van landbouwdieren, vervolgens de namen van landbouwdieren en de namen van fruit, en vervolgens alleen de namen van vruchten.
using System;
using System.Speech.Recognition;
using System.Collections.Generic;
using System.Threading;
namespace SampleRecognition
{
class Program
{
private static SpeechRecognitionEngine recognizer;
public static void Main(string[] args)
{
// Initialize an in-process speech recognition engine and configure its input.
using (recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
recognizer.SetInputToDefaultAudioDevice();
// Create the first grammar - Farm.
Choices animals = new Choices(new string[] { "cow", "pig", "goat" });
GrammarBuilder farm = new GrammarBuilder(animals);
Grammar farmAnimals = new Grammar(farm);
farmAnimals.Name = "Farm";
// Create the second grammar - Fruit.
Choices fruit = new Choices(new string[] { "apples", "peaches", "oranges" });
GrammarBuilder favorite = new GrammarBuilder(fruit);
Grammar favoriteFruit = new Grammar(favorite);
favoriteFruit.Name = "Fruit";
// Attach event handlers.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.RecognizerUpdateReached +=
new EventHandler<RecognizerUpdateReachedEventArgs>(recognizer_RecognizerUpdateReached);
recognizer.SpeechRecognitionRejected +=
new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);
// Load the Farm grammar.
recognizer.LoadGrammar(farmAnimals);
// Start asynchronous, continuous recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Console.WriteLine("Starting asynchronous, continuous recognition");
Console.WriteLine(" Farm grammar is loaded and enabled.");
// Pause to recognize farm animals.
Thread.Sleep(7000);
Console.WriteLine();
// Request an update and load the Fruit grammar.
recognizer.RequestRecognizerUpdate();
recognizer.LoadGrammarAsync(favoriteFruit);
Thread.Sleep(7000);
// Request an update and unload the Farm grammar.
recognizer.RequestRecognizerUpdate();
recognizer.UnloadGrammar(farmAnimals);
Thread.Sleep(7000);
}
// Keep the console window open.
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// At the update, get the names and enabled status of the currently loaded grammars.
public static void recognizer_RecognizerUpdateReached(
object sender, RecognizerUpdateReachedEventArgs e)
{
Console.WriteLine();
Console.WriteLine("Update reached:");
Thread.Sleep(1000);
string qualifier;
List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);
foreach (Grammar g in grammars)
{
qualifier = (g.Enabled) ? "enabled" : "disabled";
Console.WriteLine(" {0} grammar is loaded and {1}.",
g.Name, qualifier);
}
}
// Write the text of the recognized phrase to the console.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(" Speech recognized: " + e.Result.Text);
}
// Write a message to the console when recognition fails.
static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine(" Recognition attempt failed");
}
}
}
Opmerkingen
Wanneer de recognizer de RecognizerUpdateReached gebeurtenis genereert, is de UserToken eigenschap van de RecognizerUpdateReachedEventArgs gebeurtenis null.
Als u een gebruikerstoken wilt opgeven, gebruikt u de RequestRecognizerUpdate of RequestRecognizerUpdate methode. Als u een offset van de audiopositie wilt opgeven, gebruikt u de RequestRecognizerUpdate methode.