В файл попадает не то, что надо, совсем не то что надо "System.Collections.Generic.List`1[System.String]" а именно вот это. Файл должен отображать текст, который я записал с микрофона, записывал библиотекой NAudio.
Вот код распознавателя речи:
class ReadFromAFile : INotifyPropertyChanged
{
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new CultureInfo("en-US"));
Grammar dictation = new DictationGrammar();
List<string> text = new List<string>();
public ReadFromAFile()
{
dictation.Name = "Dictation Grammar";
recognizer.LoadGrammar(dictation);
recognizer.SetInputToAudioStream(File.OpenRead(@"Ex_voice.wav"), new SpeechAudioFormatInfo(44100, AudioBitsPerSample.Sixteen, AudioChannel.Mono));
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SpeechRecognizedHandler);
recognizer.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(RecognizeCompletedHandler);
}
public void WritingToTextFile()
{
using (StreamWriter sw = new StreamWriter("Text.txt", false, System.Text.Encoding.Default))
{
sw.WriteLine(text);
sw.Close();
}
}
public List<string> ReadingFromTextFile()
{
List<string> temp = new List<string>();
using (StreamReader sr = new StreamReader("Text.txt"))
{
temp.Add(sr.ReadToEnd());
}
return temp;
}
private void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result != null && e.Result.Text != null)
{
text.Add(e.Result.Text);
}
else
{
MessageBox.Show("File is empty");
}
}
private void RecognizeCompletedHandler(object sender, RecognizeCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(" Error encountered " +
e.Error.GetType().Name + " " + e.Error.Message);
}
if (e.Cancelled)
{
MessageBox.Show(" Operation cancelled.");
}
if (e.InputStreamEnded)
{
MessageBox.Show(" End of stream encountered.");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName]string prop = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
Подскажите в чем проблема, мысли есть, но очень страшные.
P.s. Использую MVVM, может еще тут есть какие-то палки в колесах.