SpeechRecognitionEngine.SetInputToAudioStream Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SpeechRecognitionEngine Nesneyi bir ses akışından giriş alacak şekilde yapılandırılır.
public:
void SetInputToAudioStream(System::IO::Stream ^ audioSource, System::Speech::AudioFormat::SpeechAudioFormatInfo ^ audioFormat);
public void SetInputToAudioStream (System.IO.Stream audioSource, System.Speech.AudioFormat.SpeechAudioFormatInfo audioFormat);
member this.SetInputToAudioStream : System.IO.Stream * System.Speech.AudioFormat.SpeechAudioFormatInfo -> unit
Public Sub SetInputToAudioStream (audioSource As Stream, audioFormat As SpeechAudioFormatInfo)
Parametreler
- audioSource
- Stream
Ses giriş akışı.
- audioFormat
- SpeechAudioFormatInfo
Ses girişinin biçimi.
Örnekler
Aşağıdaki örnek, temel konuşma tanımayı gösteren bir konsol uygulamasının bir bölümünü gösterir. Örnekte, bir duraklatma ile ayrılmış "test bir iki üç" ve "mister cooper" ifadelerini içeren example.wav ses dosyasından giriş kullanılır. Örnek aşağıdaki çıkışı oluşturur.
Starting asynchronous recognition...
Recognized text = Testing testing 123
Recognized text = Mr. Cooper
End of stream encountered.
Done.
Press any key to exit...
using System;
using System.Globalization;
using System.IO;
using System.Speech.AudioFormat;
using System.Speech.Recognition;
using System.Threading;
namespace InputExamples
{
class Program
{
// Indicate whether asynchronous recognition is complete.
static bool completed;
static void Main(string[] args)
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
// Create and load a grammar.
Grammar dictation = new DictationGrammar();
dictation.Name = "Dictation Grammar";
recognizer.LoadGrammar(dictation);
// Configure the input to the recognizer.
recognizer.SetInputToAudioStream(
File.OpenRead(@"c:\temp\audioinput\example.wav"),
new SpeechAudioFormatInfo(
44100, AudioBitsPerSample.Sixteen, AudioChannel.Mono));
// Attach event handlers.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
recognizer.RecognizeCompleted +=
new EventHandler<RecognizeCompletedEventArgs>(
RecognizeCompletedHandler);
// Perform recognition of the whole file.
Console.WriteLine("Starting asynchronous recognition...");
completed = false;
recognizer.RecognizeAsync(RecognizeMode.Multiple);
while (!completed)
{
Thread.Sleep(333);
}
Console.WriteLine("Done.");
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the SpeechRecognized event.
static void SpeechRecognizedHandler(
object sender, SpeechRecognizedEventArgs e)
{
if (e.Result != null && e.Result.Text != null)
{
Console.WriteLine(" Recognized text = {0}", e.Result.Text);
}
else
{
Console.WriteLine(" Recognized text not available.");
}
}
// Handle the RecognizeCompleted event.
static void RecognizeCompletedHandler(
object sender, RecognizeCompletedEventArgs e)
{
if (e.Error != null)
{
Console.WriteLine(" Error encountered, {0}: {1}",
e.Error.GetType().Name, e.Error.Message);
}
if (e.Cancelled)
{
Console.WriteLine(" Operation cancelled.");
}
if (e.InputStreamEnded)
{
Console.WriteLine(" End of stream encountered.");
}
completed = true;
}
}
}
Açıklamalar
Tanıma işlemi sırasında tanıyıcı giriş akışının sonuna ulaşırsa, tanıma işlemi kullanılabilir girişle son halini alır. Girdiyi tanıyıcıya güncelleştirmediğiniz sürece sonraki tüm tanıma işlemleri bir özel durum oluşturabilir.