测试了vb下tts播放的同步操作,和异步操作,特此记录,防止以后遗忘
同步操作代码如下
'前期工程需要添加引用 System.Speech
Imports System.Speech.Synthesis 'tts语言引擎
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
dim nongdu as long
nongdu = 1000
Dim synth As New SpeechSynthesizer
synth.Speak(Format(nongdu, "#0"))
synth.Dispose()
End Sub
同步播放 参考地址
由于同步播放程序界面卡顿
下面是异步播放
'注意此处使用了静态变量,没有使用全局变量与原有的参考程序不同,取消了资源释放,实测可以工作
Try
Static synth As New SpeechSynthesizer
synth.Volume = 100 '音量
synth.SpeakAsync(Format(nongdu, "#0"))
'synth.Dispose()
Catch ex As Exception
Debug.Print("语言播放错误 " & ex.ToString)
End Try
对于上面的程序是临时的一个测试程序,特此记录以防忘记。原有的参考程序
原文定义了全局变量,我在此处没有采样,多次播放(在上一个语句没有播放完毕之前又进行播放)结果是进行队列播放。
2019年1月1日 元旦快乐