我创建了这段代码。
Dim msg, sapi
msg=InputBox("Enter your text","Talk it")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak msg
现在我想把它转换成网站。怎么可能??
包含此代码非常简单。使用该任务的流行<script>
标签:
<html>
<head>
</head>
<body>
<input type="text" name="textinput" size="30">
<script type="text/vbscript">
Sub SpeakIt
Dim msg, sapi
msg= textinput.Value
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak msg
End Sub
</script>
<input type="button" value="speak" onClick="SpeakIt">
</body>
</html>
注意提到的script
标签,尤其是附加type
属性。
还要记住,这段代码只会在极少数浏览器中执行。其中最著名的是 Internet Explorer。
纯粹是推测(未经测试,因为我目前无法访问合适的环境),但您可能能够执行一些操作,例如接受表单中的文本并使用经典 ASP 在服务器上对其进行处理,然后使用 HTML5<audio>
标签进行播放:
你的表格:
<!DOCTYPE html>
<html>
<head></head>
<body>
<form action="speak.asp" method="get">
<fieldset>
<legend>Enter your text</legend>
<input type="text" placeholder="Enter text..." name="line" ><br>
<input type="submit" value="Talk it" >
</fieldset>
</form>
</body>
</html>
你的 asp 和输出 HTML:
<%@ language="vbscript" %>
<%
Dim msg, sapi, output
msg = Request.QueryString("line")
Set sapi = CreateObject("sapi.spvoice")
' save the speech to file
set output = CreateObject("SAPI.SpFileStream")
output.Format.Type = 8 'SAFT11kHz8BitMono
output.Open "output.wav", 3, false
set sapi.AudioOutputStream = output
sapi.Speak msg
sapi.WaitUntilDone -1
output.Close
%>
<!DOCTYPE html>
<html>
<head></head>
<body>
<audio controls>
<source type="audio/wav" src="output.wav">
</audio>
</body>
</html>
当然,这假设您的 Web 服务器安装了语音 API。