SpeechRecognitionEngine.LoadGrammar(Grammar) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Grammar 개체를 동기적으로 로드합니다.
public:
void LoadGrammar(System::Speech::Recognition::Grammar ^ grammar);
public void LoadGrammar (System.Speech.Recognition.Grammar grammar);
member this.LoadGrammar : System.Speech.Recognition.Grammar -> unit
Public Sub LoadGrammar (grammar As Grammar)
매개 변수
- grammar
- Grammar
로드할 문법 개체입니다.
예외
Grammar
이(가) null
인 경우
Grammar
가 유효한 상태가 아닌 경우
예제
다음 예제에서는 기본 음성 인식 기능을 보여 주는 콘솔 애플리케이션 부분을 보여 줍니다. 이 예제에서는를 만들고 DictationGrammar 이를 음성 인식기로 로드 합니다.
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
설명
Grammar개체가 이미 로드 되었거나, 비동기적으로 로드 되거나, 인식기로 로드 되지 못한 경우 인식기는 예외를 throw 합니다. 동일한 개체를 여러 인스턴스에 로드할 수 없습니다 Grammar SpeechRecognitionEngine . 대신 Grammar 각 인스턴스에 대해 새 개체를 만듭니다 SpeechRecognitionEngine .
인식기를 실행 하는 경우 애플리케이션 사용 해야 합니다 RequestRecognizerUpdate 로드, 언로드을 사용 하도록 설정 또는 문법을 사용 하지 않도록 설정 하기 전에 음성 인식 엔진을 일시 중지 합니다.
문법을 로드 하면 기본적으로 사용 하도록 설정 됩니다. 로드 된 문법을 사용 하지 않도록 설정 하려면 Enabled 속성을 사용 합니다.
개체를 비동기적으로 로드 하려면 Grammar 메서드를 사용 LoadGrammarAsync 합니다.