0

我创建了这段代码。

Dim msg, sapi
msg=InputBox("Enter your text","Talk it")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak msg

现在我想把它转换成网站。怎么可能??

4

2 回答 2

0

包含此代码非常简单。使用该任务的流行<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。

于 2013-09-03T10:44:28.897 回答
0

纯粹是推测(未经测试,因为我目前无法访问合适的环境),但您可能能够执行一些操作,例如接受表单中的文本并使用经典 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。

于 2013-09-03T11:04:10.160 回答