Как освободить оперативную память от объекта speechsynthesizer?
У меня есть эта программа:
Преобразование Текста В Речь Для Windows[^]
Программа приказывает Windows произносить текст в буфере обмена, когда Ctrl+C нажимается дважды быстро.
Простой исходный код находится на моем сайте Google.
Каждый раз, когда он произносит новое предложение, он добавляет около 3 МБ оперативной памяти для программы, достигая на этот раз 521 МБ, как я могу освободить ресурсы (распорядиться ими) и забыть каждое произнесенное предложение, произнесенное предложение больше не нужно после того, как оно произнесено или остановлено на середине.
Это как будто он что-то запоминает и добавляет в оперативную память каждый раз, когда произносится предложение, а этого не должно быть, в прошлом, когда я использовал SPVoice, я думаю, что этого не было.
Что я уже пробовал:
public void speak1Text(string s) { s = prepareTextForSpeech(s); SS.SpeakAsyncCancelAll(); SS = new SpeechSynthesizer(); SS.SetOutputToDefaultAudioDevice(); SS.SelectVoice(SS.GetInstalledVoices()[comboBoxVoice.SelectedIndex].VoiceInfo.Name); SS.Rate = trackBarRate.Value; SS.Volume = trackBarVolume.Value; SS.SpeakAsyncCancelAll(); SS.SpeakAsync(s); }