我将如何允许 TTS 应用程序的多个实例 运行?
How would I go about allowing multiple instances of a TTS app to run?
对于一个项目,我一直在网上寻找一个 MS 命令行程序,以使用自定义 SAPI5 语音大声朗读文本到语音。我找到了一个适合我需要的,https://github.com/brookhong/tts。这就是我一直在寻找的东西,但我需要的是一次 运行 多次。我在一个批处理文件中有 tts -f 3 -v 1 "Hello"
,它按照我想要的方式工作,但是 运行 第二次调用该文件将导致它在第一个实例完成对话后才开始对话。
我已经尝试从源中删除 m_pVoice->WaitUntilDone( INFINITE );
并将 INFINITE 减少到 1,因为这似乎会阻止第二个实例播放。执行此任务的另一种方法是什么?
查看您链接的 github 存储库的来源后,有一个调用
hr = pVoice->Speak(wbuf, 0, NULL);
这可能是阻碍。您可能想尝试将其更改为
而不是 0
hr = pVoice->Speak(wbuf, SPF_ASYNC , NULL);
重新编译,然后尝试 运行 多个实例。
对于一个项目,我一直在网上寻找一个 MS 命令行程序,以使用自定义 SAPI5 语音大声朗读文本到语音。我找到了一个适合我需要的,https://github.com/brookhong/tts。这就是我一直在寻找的东西,但我需要的是一次 运行 多次。我在一个批处理文件中有 tts -f 3 -v 1 "Hello"
,它按照我想要的方式工作,但是 运行 第二次调用该文件将导致它在第一个实例完成对话后才开始对话。
我已经尝试从源中删除 m_pVoice->WaitUntilDone( INFINITE );
并将 INFINITE 减少到 1,因为这似乎会阻止第二个实例播放。执行此任务的另一种方法是什么?
查看您链接的 github 存储库的来源后,有一个调用
hr = pVoice->Speak(wbuf, 0, NULL);
这可能是阻碍。您可能想尝试将其更改为
而不是 0hr = pVoice->Speak(wbuf, SPF_ASYNC , NULL);
重新编译,然后尝试 运行 多个实例。