如何在 VBScript 中将 SAPI 文本保存为语音文件?

use*_*043 3 vbscript sapi text-to-speech

我有以下用于文本到语音转换的 VBScript 代码:

Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")
Run Code Online (Sandbox Code Playgroud)

我想将演讲保存到音频文件中。我怎样才能做到这一点?

Hel*_*len 5

您可以将 SAPI 输出保存到 .WAV 文件,如下所示:

  1. 使用该SpFileStream.Open方法创建并打开一个 .WAV 文件作为流。

  2. 将此文件流分配给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
Run Code Online (Sandbox Code Playgroud)