Ich habe den System.Speech.Synthesis-Namespace aus dem .NET Framework für mein ETTS verwendet.
Ich kann Text vollständig in eine WAV-Datei konvertieren, aber nachdem ich die WAV-Datei gespeichert habe, kann ich in dieser Windows-Form nicht mehr sprechen. Aber es kann sprechen, wenn ich nicht in der .wav-Datei gespeichert habe.
Ich habe den folgenden Code für dieses Programm geschrieben:
Zum Speichern von Text in der .wav-Datei:
Code: Select all
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";
sfd.Title = "Save to a wave file";
sfd.FilterIndex = 2;
sfd.RestoreDirectory = true;
if (sfd.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.ReadWrite);
voiceMe.SetOutputToWaveStream(fs);
voiceMe.Speak(txtSpeakText.Text);
fs.Close();
}
Code: Select all
voiceMe.Volume = VolumeMe.Value;
voiceMe.Rate = RateMe.Value;
voiceMe.SpeakAsync(txtSpeakText.Text);
Mobile version