gpt4 book ai didi

powershell - 如何在PowerShell完成之前中断和停止TTS引擎?

转载 作者:行者123 更新时间:2023-12-03 00:56:58 24 4
gpt4 key购买 nike

在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()

microsoft docs中可以找到许多有用的信息。

关于powershell - 如何在PowerShell完成之前中断和停止TTS引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61708360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com