【发布时间】:2013-12-28 04:17:08
【问题描述】:
我有以下用于文本到语音转换的 VBScript 代码:
Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")
我想将语音保存到音频文件中。我该怎么做?
【问题讨论】:
标签: vbscript text-to-speech sapi
我有以下用于文本到语音转换的 VBScript 代码:
Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")
我想将语音保存到音频文件中。我该怎么做?
【问题讨论】:
标签: vbscript text-to-speech sapi
您可以将 SAPI 输出保存为 .WAV 文件,如下所示:
使用SpFileStream.Open 方法创建一个.WAV 文件并将其作为流打开。
将此文件流分配给SpVoice.AudioStream 属性。
这是一个例子:
Const SAFT48kHz16BitStereo = 39
Const SSFMCreateForWrite = 3 ' Creates file even if file exists and so destroys or overwrites the existing file
Dim oFileStream, oVoice
Set oFileStream = CreateObject("SAPI.SpFileStream")
oFileStream.Format.Type = SAFT48kHz16BitStereo
oFileStream.Open "C:\Work\Sample.wav", SSFMCreateForWrite
Set oVoice = CreateObject("SAPI.SpVoice")
Set oVoice.AudioOutputStream = oFileStream
oVoice.Speak "Hello world"
oFileStream.Close
【讨论】:
.Speak 之后添加oVoice.WaitUntilDone(10000),否则文件将立即关闭。我也用过oVoice.Speak "Hello world", 3