VBScript Text-To-Speech(转文字)
VBScript Text-To-Speech (to text)
我使用 VBScript(我对此经验有限)制作了一个非常简单的文本转语音程序。它只是打开一个命令提示符,你输入一些东西,然后 Windows spvoice 说出消息。
我希望此应用接受消息输入并将该文本添加到单独的 .txt 文件中。所以基本上,这将是文本到语音到文本。 VBScript 对文本文件的读写是否太有限?
Dim message, sapi
message=InputBox("Enter text:","Enter Text")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak message
您可以使用以下方法将消息写入文本文件。
Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile _
("C:\SpeechMessage.txt",2,true)
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing
VBScript Text Files: Read, Write, Append
编辑:
创建以下内容以避免 C:
根目录的权限问题
C:\Speech\
并尝试使用此代码创建文件(如果文件不存在并在文件存在时追加)。
Set objFileToWrite = CreateObject("Scripting.FileSystemObject")
If objFileToWrite.FileExists("C:\Speech\Message.txt") then
Set objFileToWrite = objFileToWrite.OpenTextFile("C:\Speech\SpeechMessage.txt",8,true)
Else
Set objFileToWrite = objFileToWrite.CreateTextFile("C:\Speech\SpeechMessage.txt")
End If
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing
这似乎有效。一开始我 运行 遇到了 800A0046 错误的问题。为了解决这个问题,我在 C: 驱动器中创建了一个新文件夹并植根于该文件夹。
Dim message, sapi, objFileToWrite
message=InputBox("What do you want me to say?","Speak to Me")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak message
Set objFileToWrite =
CreateObject("Scripting.FileSystemObject")
_.OpenTextFile("C:\Speech\LiveChat.txt",2,true)
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing
我使用 VBScript(我对此经验有限)制作了一个非常简单的文本转语音程序。它只是打开一个命令提示符,你输入一些东西,然后 Windows spvoice 说出消息。
我希望此应用接受消息输入并将该文本添加到单独的 .txt 文件中。所以基本上,这将是文本到语音到文本。 VBScript 对文本文件的读写是否太有限?
Dim message, sapi
message=InputBox("Enter text:","Enter Text")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak message
您可以使用以下方法将消息写入文本文件。
Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile _
("C:\SpeechMessage.txt",2,true)
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing
VBScript Text Files: Read, Write, Append
编辑:
创建以下内容以避免 C:
根目录的权限问题C:\Speech\
并尝试使用此代码创建文件(如果文件不存在并在文件存在时追加)。
Set objFileToWrite = CreateObject("Scripting.FileSystemObject")
If objFileToWrite.FileExists("C:\Speech\Message.txt") then
Set objFileToWrite = objFileToWrite.OpenTextFile("C:\Speech\SpeechMessage.txt",8,true)
Else
Set objFileToWrite = objFileToWrite.CreateTextFile("C:\Speech\SpeechMessage.txt")
End If
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing
这似乎有效。一开始我 运行 遇到了 800A0046 错误的问题。为了解决这个问题,我在 C: 驱动器中创建了一个新文件夹并植根于该文件夹。
Dim message, sapi, objFileToWrite
message=InputBox("What do you want me to say?","Speak to Me")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak message
Set objFileToWrite =
CreateObject("Scripting.FileSystemObject")
_.OpenTextFile("C:\Speech\LiveChat.txt",2,true)
objFileToWrite.WriteLine(message)
objFileToWrite.Close
Set objFileToWrite = Nothing