谷歌文本到语音使用jquery onclick - 跨浏览器实现

时间:2011-09-20 09:54:22

标签: jquery cross-browser text-to-speech

使用之前的SO回答我已将TTS集成到这里的网站:http://access.mwjt.co.uk/feedback/tts.php

在Chrome中运行良好,但在任何其他浏览器中都不行 - 任何人都可以解释为什么请这么做?

我把代码放在这里:http://jsfiddle.net/Mje3n/但是,这不适用于任何浏览器...... ???

非常感谢

1 个答案:

答案 0 :(得分:3)

单击页面上的按钮会在Firefox和Safari中从Google服务返回404错误(找不到文件),因此您没有听到任何内容的主要原因是您没有收到回复。但有趣的是,如果我在您的浏览器中将您的URL放入Google服务,则音频文件会回来。然后我转到Chrome浏览器,看看它的网络响应是什么样的,并看到它还返回了404错误,但是会再次尝试加载该文件。这就是它在Chrome中运行而不在其他Web浏览器中运行的原因。

我尝试了一个非常非常基本的示例linking directly like it was an audio file但是在大多数Web浏览器中也失败了,因为404响应作为第一个回复返回,浏览器放弃加载文件。

Google返回this jQuery plugin example,但即使它使用Flash从Google服务加载MP3,也有播放音频的交叉浏览器问题。如果您想这样做,您可能需要使用其他服务或Flash中介来使MP3 /音频文件正常工作。

另一件需要考虑的事情是,这可能不适用于所有网络浏览器,因为不同浏览器的行为不同。并非所有浏览器都支持HTML5并且需要不同的

虽然这无法回答这个问题,但您应该考虑一些额外的信息。您可能需要考虑使用Microsoft翻译服务而不是Google翻译服务。来自Google代码的jquery-translate页面:

  

由于Google Translate API将于2011年12月1日完全关闭,因此此插件将使用Microsoft Translator服务

另外,来自Google Translate v2 Homepage

  

重要提示:Google Translate API v2现已作为付费服务提供。 2011年8月24日之前创建的现有Translate API v2项目的礼貌限制将在2011年12月1日减少到零。此外,您的应用程序每天可以提出的请求数量将受到限制。对于网站翻译,我们建议您使用Google网站翻译小工具。

我无法100%确定这会影响文字转语音(TTS)服务,但它强烈建议这样做。它可能会得到缓解,但是如果说明了截止日期,我就不会建立一个依赖该服务的应用程序或网站,知道它可能会消失。

Microsoft Translator的文档中,有一个示例可以从服务的Speech部分链接到.wav文件。

我希望所有这些信息都有助于您决定如何继续前进,并祝您好运。