
调用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
评论一下?