SpeechRecognitionEngine.UnloadGrammar(Grammar) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 Grammar 개체를 SpeechRecognitionEngine 인스턴스에서 언로드합니다.
public:
void UnloadGrammar(System::Speech::Recognition::Grammar ^ grammar);
public void UnloadGrammar (System.Speech.Recognition.Grammar grammar);
member this.UnloadGrammar : System.Speech.Recognition.Grammar -> unit
Public Sub UnloadGrammar (grammar As Grammar)
매개 변수
- grammar
- Grammar
언로드할 문법 개체입니다.
예외
Grammar
이(가) null
인 경우
문법이 이 인식기에 로드되지 않거나 이 인식기에서 문법을 현재 비동기식으로 로드 중입니다.
예제
다음 예제에서는 음성 인식 문법의 동기 로드와 언로드를 보여주는 콘솔 애플리케이션 부분을 보여 줍니다.
Loading grammars...
Loaded grammars:
- Grammar1
- Grammar2
- Grammar3
Unloading Grammar1...
Loaded grammars:
- Grammar2
- Grammar3
Unloading all grammars...
No grammars loaded.
Press any key to exit...
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Speech.Recognition;
namespace UnloadGrammars
{
class Program
{
static void Main(string[] args)
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
Console.WriteLine("Loading grammars...");
// Create and load a number of grammars.
Grammar grammar1 = new Grammar(new GrammarBuilder("first grammar"));
grammar1.Name = "Grammar1";
recognizer.LoadGrammar(grammar1);
Grammar grammar2 = new Grammar(new GrammarBuilder("second grammar"));
grammar2.Name = "Grammar2";
recognizer.LoadGrammar(grammar2);
Grammar grammar3 = new Grammar(new GrammarBuilder("third grammar"));
grammar3.Name = "Grammar3";
recognizer.LoadGrammar(grammar3);
// List the recognizer's loaded grammars.
ListGrammars(recognizer);
// Unload one grammar and list the loaded grammars.
Console.WriteLine("Unloading Grammar1...");
recognizer.UnloadGrammar(grammar1);
ListGrammars(recognizer);
// Unload all grammars and list the loaded grammars.
Console.WriteLine("Unloading all grammars...");
recognizer.UnloadAllGrammars();
ListGrammars(recognizer);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
private static void ListGrammars(SpeechRecognitionEngine recognizer)
{
// Make a copy of the recognizer's grammar collection.
List<Grammar> loadedGrammars = new List<Grammar>(recognizer.Grammars);
if (loadedGrammars.Count > 0)
{
Console.WriteLine("Loaded grammars:");
foreach (Grammar g in recognizer.Grammars)
{
Console.WriteLine(" - {0}", g.Name);
}
}
else
{
Console.WriteLine("No grammars loaded.");
}
Console.WriteLine();
}
}
}
설명
인식기를 실행 하는 경우 애플리케이션 사용 해야 합니다 RequestRecognizerUpdate 일시 중지 합니다 SpeechRecognitionEngine 로드, 언로드을 사용 하도록 설정 하거나 사용 하지 않도록 설정 하기 전에 인스턴스를 Grammar 개체입니다. Grammar개체를 모두 언로드하려면 메서드를 사용 UnloadAllGrammars 합니다.