SpeechRecognitionEngine.SetInputToWaveFile(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Настраивает объект SpeechRecognitionEngine для получения входных данных из файла аудиоформата WAV.
public:
void SetInputToWaveFile(System::String ^ path);
public void SetInputToWaveFile (string path);
member this.SetInputToWaveFile : string -> unit
Public Sub SetInputToWaveFile (path As String)
Параметры
- path
- String
Путь к файлу, который требуется использовать как входные данные.
Примеры
В следующем примере выполняется распознавание звука в WAV-файле и запись распознанного текста в консоль.
using System;
using System.IO;
using System.Speech.Recognition;
using System.Speech.AudioFormat;
namespace SampleRecognition
{
class Program
{
static bool completed;
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine())
{
// Create and load a grammar.
Grammar dictation = new DictationGrammar();
dictation.Name = "Dictation Grammar";
recognizer.LoadGrammar(dictation);
// Configure the input to the recognizer.
recognizer.SetInputToWaveFile(@"c:\temp\SampleWAVInput.wav");
// Attach event handlers for the results of recognition.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.RecognizeCompleted +=
new EventHandler<RecognizeCompletedEventArgs>(recognizer_RecognizeCompleted);
// Perform recognition on the entire file.
Console.WriteLine("Starting asynchronous recognition...");
completed = false;
recognizer.RecognizeAsync();
// Keep the console window open.
while (!completed)
{
Console.ReadLine();
}
Console.WriteLine("Done.");
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(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 recognizer_RecognizeCompleted(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;
}
}
}
Комментарии
Если распознаватель достигает конца входного файла во время операции распознавания, операция распознавания завершается с помощью доступных входных данных. Любые последующие операции распознавания могут создавать исключение, если не обновить входные данные распознавателя.