Process process;
// Read Contetnt Mouse click event
private SpeechSynthesizer readerSpeak;
private void btnSpeakContent_Click(object sender, EventArgs e)
{
if(richTextBoxThanglish.Text.Trim() == string.Empty)
{
if (process.HasExited == false)
process.Kill();
MessageBoxWrapper.ShowWarning("Textbox is Empty.", "ABTS", "Textbox is Empty.");
process = Process.Start("narrator.exe");
}
else
{
if (process.HasExited == false)
process.Kill();
readerSpeak = new SpeechSynthesizer();
readerSpeak.SpeakAsync(richTextBoxThanglish.Text.ToString());
if (process.HasExited == true)
process = Process.Start("narrator.exe");
}
}
private void btnStopSpeak_Click(object sender, EventArgs e)
{
if (process.HasExited == true)
process = Process.Start("narrator.exe");
if (!(readerSpeak == null))
{
readerSpeak.Dispose();
}
}
Предположим, что у программы есть две кнопки: talkContent & stop_speak. Я запускаю процесс narrator.exe, чтобы получить рассказчик Windows. Я хочу прокрутить содержимое richtextbox без перекрытия голоса. Я знаю, что Synchronos говорит, но он приостанавливает мое приложение, пока sayContent не закончит. Мне нужно это со SpeakAsyn(). Есть ли способ добавить молчание в голосовой рассказчик? На самом деле мне нужна эта текстовая речь, после 3 секунд. Я использовал «System.Threading.Thread.Sleep (3000);». Но все же происходит перекрытие текста, Средство рассказчика & Строка в речь играет вместе.Как избежать рассказчика и строки в речи Перекрытие в C#?
Пожалуйста, помогите.
Спасибо за ваше время. Я исправил его с помощью события key_Leave. –
Если вы хотите, вы можете отправить ответ самостоятельно (и принять его), чтобы документировать, как вы его исправили (с образцами кода и т. Д.), Поэтому любой, у кого есть эта проблема в будущем, будет знать, как его решить. –