VB6 如何调用微软的语音库将文字转换成wav

mkw007 2017-05-12 10:45:25
先引用Microsoft Speech Object Library库,然后:
Set nVoice = New SpVoice '创建微软语音朗读对象
For I = 0 To nVoice.GetVoices.Count - 1
a = nVoice.GetVoices.Item(I).GetDescription
If a = "Microsoft Simplified Chinese" Then '使用简体中文版语音库进行朗读
SpeakLngIndex = I
Exit For
End If
Next

On Error Resume Next
Set nVoice.Voice = nVoice.GetVoices.Item(SpeakLngIndex)
nVoice.Rate = 2
nVoice.Volume = 100
nVoice.Speak "你好!", SVSFlagsAsync '朗读文本
nVoice.AudioOutput = "D:\wav.wav" '将朗读的文本保存为wav音频
问题:
朗读完毕之后,并没有"D:\wav.wav" 音频文件生成,如何成功生成wav文件呢?
...全文
2207 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小噤 2017-05-12
  • 打赏
  • 举报
回复
' 转自贴吧http://tieba.baidu.com/p/2902813877
Private Sub Form_Load()
    Const SSFMCreateForWrite = 3
    strText = "hello world "
    Set objVoice = CreateObject("SAPI.SpVoice")
    Set objFile = CreateObject("SAPI.SpFileStream.1")
    objFile.Open "c:\Test.wav", SSFMCreateForWrite
    Set objVoice.AudioOutputStream = objFile
    objVoice.Rate = 1 '速度:-10,10 0
    objVoice.Volume = 100 '声音:0,100 100
    objVoice.AllowAudioOutputFormatChangesOnNextSet = False
    objVoice.Speak strText

    objFile.Close
    Set objVoice.AudioOutputStream = Nothing
    Set objVoice = Nothing

End Sub
赵4老师 2017-05-12
  • 打赏
  • 举报
回复
将AudioOutput语句提前试试?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧