Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
代码的文本到语音部分(VB.NET)在Windows7上运行良好,但在Windows10上运行不好_Vb.net - Fatal编程技术网

代码的文本到语音部分(VB.NET)在Windows7上运行良好,但在Windows10上运行不好

代码的文本到语音部分(VB.NET)在Windows7上运行良好,但在Windows10上运行不好,vb.net,Vb.net,在两台Windows7机器上,图片和文本首先出现,然后出现TTS。在两台win10机器上,语音先发生,然后出现图片和文本 我尝试添加一个try-catch-and-finally语句并设置延迟,但问题仍然存在 我能做些什么来解决这个问题吗 布莱克伍德最新消息 Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim SAPI As Obj

在两台Windows7机器上,图片和文本首先出现,然后出现TTS。在两台win10机器上,语音先发生,然后出现图片和文本

我尝试添加一个try-catch-and-finally语句并设置延迟,但问题仍然存在

我能做些什么来解决这个问题吗

布莱克伍德最新消息

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim SAPI As Object
    Select Case TextBox1.Text
        Case "1"
                PictureBox1.Image = My.Resources.picture1
                RichTextBox1.Text = "Information here."
                SAPI = CreateObject("SAPI.spvoice")
                SAPI.speak(RichTextBox1.Text)
    End Select
    End Sub
End Class
可能在调用
SAPI=CreateObject
之前尝试在那里插入一个。虽然它不是解决方案,但它是最容易实现的。这将导致窗口在继续之前得到更新(已处理)


如果可行,那就采用真正的解决方案:或(只要可能)播放TTS。

我建议您编辑问题,以显示代码,并尝试延迟声音。Windows 10彻底修改了语音api。因为科尔塔纳。@JoelCoehoorn我认为这与任何大修无关;只是在TTS执行之前屏幕还没有更新。我建议在单独的(背景)线程上播放。谢谢@RobIII!添加Application.DoEvent已经修复了win10用户的问题,因此我将研究您提到的异步/等待。
    Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim SAPI As Object
    Select Case TextBox1.Text
        Case "1"
                PictureBox1.Image = My.Resources.picture1
                RichTextBox1.Text = "Information here."
                System.Threading.Thread.Sleep(100)
                SAPI = CreateObject("SAPI.spvoice")
                SAPI.speak(RichTextBox1.Text)
    End Select
    End Sub
End Class