SpeechRecognitionEngine.SetInputToDefaultAudioDevice 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.
Hiermee configureert u het object voor het SpeechRecognitionEngine ontvangen van invoer van het standaardaudioapparaat.
public:
void SetInputToDefaultAudioDevice();
public void SetInputToDefaultAudioDevice();
member this.SetInputToDefaultAudioDevice : unit -> unit
Public Sub SetInputToDefaultAudioDevice ()
Voorbeelden
In het volgende voorbeeld ziet u een deel van een consoletoepassing waarin eenvoudige spraakherkenning wordt gedemonstreert. In het voorbeeld wordt uitvoer van het standaardaudioapparaat gebruikt, meerdere asynchrone herkenningsbewerkingen uitgevoerd en afgesloten wanneer een gebruiker de woordgroep afsluit, 'exit'.
using System;
using System.Globalization;
using System.Speech.Recognition;
using System.Threading;
namespace DefaultInput
{
class Program
{
// Indicate whether asynchronous recognition has finished.
static bool completed;
static void Main(string[] args)
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
// Create and load the exit grammar.
Grammar exitGrammar = new Grammar(new GrammarBuilder("exit"));
exitGrammar.Name = "Exit Grammar";
recognizer.LoadGrammar(exitGrammar);
// Create and load the dictation grammar.
Grammar dictation = new DictationGrammar();
dictation.Name = "Dictation Grammar";
recognizer.LoadGrammar(dictation);
// Attach event handlers to the recognizer.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
recognizer.RecognizeCompleted +=
new EventHandler<RecognizeCompletedEventArgs>(
RecognizeCompletedHandler);
// Assign input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Begin asynchronous recognition.
Console.WriteLine("Starting recognition...");
completed = false;
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Wait for recognition to finish.
while (!completed)
{
Thread.Sleep(333);
}
Console.WriteLine("Done.");
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
static void SpeechRecognizedHandler(
object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(" Speech recognized:");
string grammarName = "<not available>";
if (e.Result.Grammar.Name != null &&
!e.Result.Grammar.Name.Equals(string.Empty))
{
grammarName = e.Result.Grammar.Name;
}
Console.WriteLine(" {0,-17} - {1}",
grammarName, e.Result.Text);
if (grammarName.Equals("Exit Grammar"))
{
((SpeechRecognitionEngine)sender).RecognizeAsyncCancel();
}
}
static void RecognizeCompletedHandler(
object sender, RecognizeCompletedEventArgs e)
{
Console.WriteLine(" Recognition completed.");
completed = true;
}
}
}