回 帖 发 新 帖 刷新版面

主题:[讨论]下列语句该怎样转换成VFP代码?

下列代码,如何转换成VFP支持的代码?

Set objVoice = CreateObject("SAPI.SpVoice")
Set objVoice.Voice = objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)
'Set objVoice.Voice = objVoice.GetVoices("Name=Microsoft Sam").Item(0)

回复列表 (共8个回复)

沙发

objVoice=CreateObject("SAPI.SpVoice")
objVoice.Voice = objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)
&&&objVoice.Voice = objVoice.GetVoices("Name=Microsoft Sam").Item(0)

板凳

objVoice.GetVoices("Name=Microsoft Simplified Chinese").Count的为0啊

objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)这样就会出错。

3 楼

谢谢hw2007name的指点,我现在忙,晚上回去后我会偿试,偿试结果会与大家共享的.

4 楼

[quote]objVoice.GetVoices("Name=Microsoft Simplified Chinese").Count的为0啊

objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)这样就会出错。[/quote]
按你的上述提示,我改成了:
objVoice.GetVoices("Name=Microsoft Simplified Chinese")
后没有提示错误,但也没起作用,不知为什么?

5 楼

你是不是想设置使用系统那一个语音库啊,这样调用:
objVoice.Voice = objVoice.GetVoices.Item(1)&&设置为第二个语音库。
objVoice.Speak("sdfwf",3)&&朗读

6 楼

if objVoice.GetVoices("Name=Microsoft Simplified Chinese").Count=0
    ?表示当前系统中没有这个语音库.
endif

7 楼

谢谢hw2007name老弟,按照你的指点,我已调试成功.这是一个很不小的帮助,我非常非常地感谢你!

可是我有些贪心不足,我想做一个选择框,将本机上现有的全部语音库列出来,供用户选择,不知道怎样读出每一个语音库的名称?
我用objVoice.GetVoices.Count测出了本机现有的语音库个数,我需要列出每一个语音库的名称

8 楼

**取得所有语音库名称:
DIMENSION aAllVoice[objVoice.GetVoices.count]
for i=1 to objVoice.GetVoices.count
    aAllVoice[i]=objVoice.GetVoices.item(i-1).GetAttribute("NAME")
endfor

我来回复

您尚未登录,请登录后再回复。点此登录或注册