首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.net SpeechSynthesizer通知

VB.net SpeechSynthesizer通知
EN

Stack Overflow用户
提问于 2012-07-14 15:30:10
回答 1查看 1.8K关注 0票数 1

我在VB.net中使用VB.net()

当说话人讲完所有的数据后,我怎么才能检测到呢?

我有这样的代码:

代码语言:javascript
复制
        repetitionCounter = 0
        Do
            speaker.SpeakAsync(textIntroduction.Text)
            repetitionCounter += 1
            If repetitionCounter = repeatXNumberOfTimes Then
                MsgBox("Done")
                Exit Do
            End If
        Loop

然而,一旦Do开始,MsgBox就会马上出现。我认为这是因为它将.SpeakAsync命令加载到内存中,因此,repeatXNumberOfTimes很快就完成了。

我可以将代码更改为:

代码语言:javascript
复制
      speaker.Speak(textIntroduction.Text)

现在起作用了。但是,表单“锁定”,然后我不能与表单交互。我尝试过实现Application.DoEvents(),但是表单仍然“锁定”。

当演讲者在没有锁定表单的情况下完成演讲时,如何通知我呢?

此外,如果我想要发言者播放一些文本无限次数,我应该如何实现这一点?

*更新

这是我的代码:

代码语言:javascript
复制
     Dim speaker As New SpeechSynthesizer()
     Public Event SpeakCompleted As EventHandler(Of SpeakCompletedEventArgs)
     Dim handler As EventHandler(Of SpeakCompletedEventArgs)

在Form_Load(),我添加了以下代码:

代码语言:javascript
复制
     AddHandler speaker.SpeakCompleted, handler

应该这样做吗?在触发SpeakCompleted事件时,我在哪里编写要执行的代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-14 16:17:41

您需要查看SpeakCompleted事件:

来自林克:

SpeechSynthesizer在任何SpeakAsync()或SpeakSsmlAsync(String)方法完成时引发SpeakCompleted事件。可以使用SpeakCompleted为SpeakCompletedEventArgs事件编写处理程序。

不需要创建事件,事件已经是SpeachSynthesizer的一部分。只需创建一个与事件签名匹配的子例程,并将其添加到事件中,如下面这个简单的命令行示例。

代码语言:javascript
复制
Imports System.Speech.Synthesis

Module Module1
    Dim speaker As New SpeechSynthesizer()
    Sub Main()

        AddHandler speaker.SpeakCompleted, AddressOf SpeachComplete
        speaker.SpeakAsync("This is a test speach to see if the speach complete event raises")

        Console.ReadLine()
    End Sub

    Private Sub SpeachComplete(sender As Object, e As SpeakCompletedEventArgs)
        MsgBox("Speach Done")
    End Sub

End Module
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11484997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档