VisualFreeBasic控件_SpVoice TTS文本转语音

2026-1-21 / 0 评论 / 45 阅读


调用WIN系统里的TTS,把文本转换为语音输出,XP 系统中没测试,可能无效。

SpVoice1.Speak("我是中国人我骄傲") 

事件中可以输出读取的文字

'[Form1.SpVoice1]事件 : 事件通知
'hWndForm    当前窗口的句柄(WIN系统用来识别窗口的一个编号,如果多开本窗口,必须 Me.hWndForm = hWndForm 后才可以执行后续操作本窗口的代码)
'SpVoice     tts的对象
Sub Form1_SpVoice1_Notify(hWndForm As hWnd, ByRef SpVoice As Afx_ISpVoice)
   Dim eventItem As SPEVENT, eventStatus As SPVOICESTATUS
   If pSpVoice.GetEvents(1, @eventItem, NULL) = S_OK Then
      If eventItem.eEventId = SPEI_WORD_BOUNDARY Then
         pSpVoice.GetStatus(@eventStatus, NULL)
         Dim nStart As Long = eventStatus.ulInputWordPos '播放第几个字符,从 0开始,第一个字符,这里是 0
         Dim nLen   As Long = eventStatus.ulInputWordLen '几个字符,
         Print nStart, nLen
      End If
   End If
   '暂时只掌握这么多,等以后学的新知识了再扩展。

End Sub

评论一下?

OωO
取消