SpeechRecognitionEngine.SetInputToDefaultAudioDevice 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
기본 오디오 디바이스에서 입력을 받도록 SpeechRecognitionEngine 개체를 구성합니다.
public:
void SetInputToDefaultAudioDevice();
public void SetInputToDefaultAudioDevice ();
member this.SetInputToDefaultAudioDevice : unit -> unit
Public Sub SetInputToDefaultAudioDevice ()
예제
다음 예제에서는 기본 음성 인식 기능을 보여 주는 콘솔 애플리케이션 부분을 보여 줍니다. 이 예제에서는 기본 오디오 디바이스에서 출력을 사용 하 여, 여러 수행 비동기 인식 작업 및 사용자 utters 구의 종료 "종료"입니다.
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;
}
}
}