Проще говоря, я хочу создать программу, которая ведет обратный отсчет (+ голос), но когда приходит число, такое как 1 мил, это занимает больше 1 сек. c, поэтому я хотел бы узнать, как я могу получить "EventHandler" "чтобы запустить и как я могу его использовать (мне не нужен код для подсчета et c. но как создать EventHandler и где мне нужно написать код, когда он был вызван)
https://docs.microsoft.com/en-us/dotnet/api/system.speech.synthesis.speechsynthesizer.speakcompleted?view=netframework-4.8
Я не могу просто использовать Text.Speak("")
потому что это приводит к десину c с напечатанным текстом. Мне нужен этот обратный вызов, чтобы начать новый Speak и синхронизировать c его с текстом.
Извините ... я не хочу спрашивать ppl, но после 3 часов я сдаюсь, пожалуйста, помогите мне
SpeechSynthesizer synth = new SpeechSynthesizer();
int counting = 0;
private void TTS() //First trigger
{
synth.SetOutputToDefaultAudioDevice();
synth.SelectVoiceByHints(VoiceGender.Female, VoiceAge.NotSet, 0);
textBox1.Text = "1";
synth.Speak("1");
counting = 1;
synth.SpeakCompleted += synth_SpeechOver;
}
//public event EventHandler<System.Speech.Synthesis.SpeakCompletedEventArgs> SpeakCompleted; deleted
public void synth_SpeechOver(object sender, EventArgs e)
{
synth.SetOutputToDefaultAudioDevice();
synth.SelectVoiceByHints(VoiceGender.Female, VoiceAge.NotSet, 0);
counting++;
synth.Speak(counting.toString());
}
void Form1_SpeakCompleted(object sender, EventArgs e)
{
}
//(Form1_SpeakCompleted is just for testing (doesnt work)