RecognizeCompletedEventArgs.InputStreamEnded 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
입력 스트림이 종료되었는지 여부를 나타내는 값을 가져옵니다.
public:
property bool InputStreamEnded { bool get(); };
public bool InputStreamEnded { get; }
member this.InputStreamEnded : bool
Public ReadOnly Property InputStreamEnded As Boolean
속성 값
예제
다음 예제에서는 in-process 인식기를 사용 하 여 메서드를 사용 하 여 SpeechRecognitionEngine.RecognizeAsync 음성 인식 문법에 비동기 음성 인식을 수행 합니다. 이 예제에서는 개체를 Choices 사용하여 GrammarBuilder 개체에 빌드하기 전에 음성 인식 문법을 만듭니다Grammar. 이벤트에 대한 SpeechRecognitionEngine.RecognizeCompleted 처리기는 인식 작업에 대한 정보를 콘솔에 출력합니다.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
private static SpeechRecognitionEngine recognizer;
public static void Main(string[] args)
{
// Initialize a SpeechRecognitionEngine object and set its input.
recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
recognizer.SetInputToDefaultAudioDevice();
// Configure recognition parameters.
recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5.0);
recognizer.BabbleTimeout = TimeSpan.FromSeconds(3.0);
recognizer.EndSilenceTimeout = TimeSpan.FromSeconds(1.0);
recognizer.EndSilenceTimeoutAmbiguous = TimeSpan.FromSeconds(1.0);
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the RecognizeCompleted event.
recognizer.RecognizeCompleted +=
new EventHandler<RecognizeCompletedEventArgs>(recognizer_RecognizeCompleted);
// Create a speech recognition grammar and build it into a Grammar object.
Choices bankingMenu = new Choices(new string[]
{ "Access accounts", "Transfer funds", "Pay bills", "Get loan balance" });
GrammarBuilder banking = new GrammarBuilder(bankingMenu);
Grammar bankGrammar = new Grammar(banking);
bankGrammar.Name = "Banking Menu";
// Load the Grammar objects to the recognizer.
recognizer.LoadGrammarAsync(bankGrammar);
// Start asynchronous, continuous recognition.
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
// Handle the RecognizeCompleted event.
static void recognizer_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
{
if (e.Error != null)
{
Console.WriteLine(
"RecognizeCompleted, error occurred during recognition: {0}", e.Error);
return;
}
if (e.InitialSilenceTimeout || e.BabbleTimeout)
{
Console.WriteLine(
"RecognizeCompleted: BabbleTimeout({0}), InitialSilenceTimeout({1}).",
e.BabbleTimeout, e.InitialSilenceTimeout);
return;
}
if (e.InputStreamEnded)
{
Console.WriteLine(
"RecognizeCompleted: AudioPosition({0}), InputStreamEnded({1}).",
e.AudioPosition, e.InputStreamEnded);
}
if (e.Result != null)
{
Console.WriteLine(
"RecognizeCompleted: Grammar ({0}), Text ({1}), Confidence ({2}), AudioPosition ({3}).",
e.Result.Grammar.Name, e.Result.Text, e.Result.Confidence, e.AudioPosition);
}
else
{
Console.WriteLine("RecognizeCompleted: No result.");
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
string grammarName = e.Grammar.Name;
bool grammarLoaded = e.Grammar.Loaded;
bool grammarEnabled = e.Grammar.Enabled;
if (e.Error != null)
{
Console.WriteLine("LoadGrammar for {0} failed with a {1}.",
grammarName, e.Error.GetType().Name);
// Add exception handling code here.
}
Console.WriteLine("Grammar {0} {1} loaded and {2} enabled.", grammarName,
(grammarLoaded) ? "is" : "is not", (grammarEnabled) ? "is" : "is not");
}
}
}
설명
인식기는 파일이 인식기의 true 입력 스트림을 제공하고 파일의 끝에 도달할 때 이 속성을 설정합니다. 입력 스트림의 끝은 성공적인 인식 작업과 일치할 수 있습니다. 파일을 입력 스트림으로 사용하는 방법에 대한 자세한 내용은 해당 및 SetInputToAudioStream 메서드를 SetInputToWaveFile 참조하세요.