Я использовал java, чтобы сделать симпатичного чат-бота некоторое время назад.Недавно я обнаружил, что могу использовать VBS для чтения текста вслух.Я обнаружил, что чатбот фактически говорит, а не просто печатает ответ.
Это все работает нормально, но пользователь может набирать ответы быстрее, чем текст в речь может закончить разговор.Это приводит к резервному копированию, так как пользователь вводит сообщения, ответы бота просто добавляются в очередь tts и не будут произноситься, пока не будут прочитаны первые ответы.
Когда вызывается скрипт для чтения ответа, я хочу, чтобы вся речь была остановлена до того, как ответ будет прочитан.Я понятия не имею, как это сделать, помощь будет принята.Спасибо!
textSpeech.vbs
//I want all speech to be stopped here
Dim sapi
Set sapi=CreateObject("sapi.spvoice")
//speaks the string passed to script
sapi.Speak Wscript.Arguments(0)
Chatbot.java (отображается только соответствующий код)
try {
//textSpeech.vbs is executed with sayString as an arguement
Runtime.getRuntime().exec( "wscript \"" + path + "\" \"" + sayString + "\"");
} catch( IOException e ) {
System.out.println(e);
System.exit(0);
}