作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在PowerShell 5.1.18362.752中,当我尝试执行以下命令时:Add-Type -AssemblyName System.Speech; $x = New-Object System.Speech.Synthesis.SpeechSynthesizer; $x.Speak('Hello. This is a sentence.')
我似乎无法在讲话时用Ctrl + C中断它。整个输入被大声读出。有什么办法可以阻止它自己完成吗?我知道我可以关闭PowerShell来立即停止讲话,但是我正在寻找更优雅的方法,尤其是因为PS重新启动需要花费一秒钟或几秒钟的时间-对于我的用例,我需要能够快速中断讲话无需用户等待几秒钟即可开始其他操作。
最佳答案
您应该调用SpeakAsync()
异步方法,而不是阻塞的Speak()
。
然后,您可以使用SpeakAsyncCancelAll()
轻松停止讲话
Add-Type -AssemblyName System.Speech;
$x = New-Object System.Speech.Synthesis.SpeechSynthesizer;
$x.SpeakAsync('Hello. This is a very very very very long sentence.')
Start-Sleep 1
$x.SpeakAsyncCancelAll()
关于powershell - 如何在PowerShell完成之前中断和停止TTS引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61708360/
我是一名优秀的程序员,十分优秀!