问题标签 [speechsynthesizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1215 浏览

c# - 如何将进度条连接到我的语音合成器?

我想在我的应用程序中将进度条连接到我的语音合成器(以显示它阅读文本的程度)。

我的 SpeechSynthesizer 代码的主要组件如下:

我想将此代码连接到进度条,以便它显示语音合成器的当前状态(并在用户暂停/停止进度条时暂停/停止。这可能吗?我从未使用过进度条正确,所以我想要一些关于如何做到这一点的帮助。

谢谢。

0 投票
1 回答
1696 浏览

android - synthesizeToFile 失败:未绑定到 TTS 引擎,在 android 中使用 TextToSpeech 时

我正在使用Android TextToSpeech API,我想将转换后的 text2speech 作为文件保存在 SD 卡内存中,但出现错误:

我使用 TTS 的代码是:

在函数内部loadPage()调用synthesizeToFile函数的位置如下:

0 投票
1 回答
185 浏览

c# - SpeechSynthesizer 到 Storyboard

我创建了一个包含一些移动元素/对象的故事板,并且我想将 SpeechSynthesizer 添加到故事板中。

那可能吗??我正在研究 C#。

或者有没有办法将音频添加到故事板中?

0 投票
1 回答
132 浏览

c# - SAPI5 讲 XML

我想使用“SpeechSynthesizer”来朗读一段文字,但这段文字包含一些 XML 标记。使用旧的 COM 对象,我使用

但是,SpeechSynthesizer 中没有可用于定义文本是 XML 字符串的重载函数。

0 投票
1 回答
160 浏览

c# - Windows Phone 8 中“等待”中的 SpeechSynthesizer 错误

我在 SpeechSynthesizer 中收到一个错误,它说:

错误:“await”要求“Windows.Foundation.IAsynAction”类型具有合适的 GetAwaiter 方法。您是否缺少“系统”的指令?

我使用纯文本,我的代码是这样的

0 投票
1 回答
3364 浏览

c# - 如何在我的应用程序中中断文本到语音合成的播放?

这是我用来演讲richTextBox 的代码。我的问题是播放文本时无法单击任何内容。我什至无法停止播放。我该如何解决这个问题?有什么方法可以通过单击按钮停止播放?

0 投票
1 回答
559 浏览

c# - SpeechSynthesizer 类实例停止说话后关闭表单

所以,我正在使用SpeechSynthesizer类来创建一个音频文本阅读器。当声音开始说话时,我想显示一个带有消息的表单,例如“等待,正在阅读文本”,带有按钮' Stop Reading')。如果用户点击按钮,文本阅读应该停止。如果用户没有点击按钮,那么表单必须在阅读完整个文本后自动关闭。

我面临的问题是我不知道如何捕捉发言停止的那一刻,我不知道何时或如何关闭表格。

也许用 比较好MessageBox,不过没关系,我会想办法的。主要问题是我不知道什么时候关闭它。我希望我说清楚了,提前谢谢你。

我还没有在表单中添加任何按钮...

0 投票
1 回答
183 浏览

c# - windows phone 8 中的语音合成器

我正在开发一个应用程序来使用 windows phone 8 中的语音合成器将文本转换为语音。我想突出显示语音合成器所说的文本。在 MSDN 站点中,getCurrentlySpokenPrompt() 方法在 SpeechSynthesizer 类中可用,但在我的代码中没有这样的方法是可访问的。

这是我的代码:

谁能帮我!

0 投票
2 回答
1382 浏览

vb.net - SpeechSynthesizer.SpeakAsyncCancelAll() 不取消

我的表单上有一个标记为 Speak 的按钮,当用户单击它时,它synth.SpeakAsync(Textbox.text)会被触发,并且该按钮将其文本更改为“停止说话”。

然而,当用户点击停止说话,从而触发synth.speakAsyncCancelAll()它不会取消语音中间文本。

这是我的代码:

0 投票
0 回答
798 浏览

vb.net - vb.net System.Speech.Recognition.SpeechRecognitionEngine 区分用户输入和 System.Speech.Synthesis.SpeechSynthesizer

我正在开发一个语音应用程序,它可以倾听用户的声音,处理输入并在需要时执行任何操作,然后向用户提供输出。

我正在使用System.Speech.Recognition.SpeechRecognitionEngine来倾听用户的声音,并使用System.Speech.Synthesis.SpeechSynthesizer来口头输出给用户。

我让 SPR 连续收听,因为我想让用户在 TTS 忙于说话时打断 TTS,但显然,每当 TTS 说话时,SPR 都在收听 TTS,从而触发进程以找出所说的内容和试图执行任何操作。

我正在寻找一些关于如何让 SPR 确定在用户说话时 TTS 也在说话时它是在听用户还是在听 TTS 的一些想法。

更新我可能已经找到了解决方案。

TtsSpeaking我可以使用TTS 可以true在开始讲话时设置的公共布尔值,然后false在完成时将其设置为。

SpeechHypothesizedSPR 事件期间,它可以检查 if TtsSpeakingistrue然后检查假设文本以查看它是否包含以下单词:

  • stop并且talking
  • pause并且talking

然后调用一个方法,该方法将“告诉” TTS 停止或暂停其讲话。

将尝试它然后再次更新。肿瘤坏死因子

更新 2

上面提到的解决方案有效。我还添加了一个“保护措施”,以防止 SPR 的SpeechHypothesized事件stop/pause talking在用户没有说出这些单词但 TTS 确实在假设文本中找到上述单词组合时调用方法:

TTS 暴露了它要说的内容,同样,让 TTS 设置一个带有要说的公共变量,SpeechHypothesized事件可以检查 TTS 是否说出了限定词组合,如果不是,则假定用户说出了它们然后调用stop/pausetalking方法。