jquery - 使用 jquery 的 Google 文本转语音 onclick - 跨浏览器实现

标签 jquery cross-browser text-to-speech

使用之前的 SO 答案,我已将 TTS 集成到此处的网站中:http://access.mwjt.co.uk/feedback/tts.php

在 Chrome 中工作正常,但在任何其他浏览器中却不行 - 谁能解释一下为什么?

我已将代码放入此处的 fiddle 中:http://jsfiddle.net/Mje3n/但是,这不适用于任何浏览器......???

非常感谢

最佳答案

点击页面中的按钮会出现 404 错误(未找到文件),该错误是从 Firefox 和 Safari 中的 Google 服务返回的,因此您听不到任何声音的主要原因是没有收到响应。不过,有趣的是,如果我在浏览器中输入 Google 服务的 URL,音频文件就会返回。然后我转到 Chrome 查看其网络响应,发现它也返回 404 错误,但会再次尝试加载文件。这就是为什么它可以在 Chrome 中运行,而不能在其他网络浏览器中运行。

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

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

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

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

Since the Google Translate API will be shut off completely on December 1, 2011 this plugin will use the Microsoft Translator service

此外,来自Google Translate v2 Homepage :

Important: Google Translate API v2 is now available as a paid service. The courtesy limit for existing Translate API v2 projects created prior to August 24, 2011 will be reduced to zero on Dec 1, 2011. In addition, the number of requests your application can make per day will be limited. For website translations, we encourage you to use the Google Website Translator gadget.

我不能 100% 确定这会影响文本转语音 (TTS) 服务,但它确实强烈建议这样做。它可能会得到缓刑,但如果规定了最后期限,我不会构建依赖于该服务的应用程序或网站,因为我知道它可能会消失。

Microsoft Translator 的文档中有一个从服务的语音部分链接到 .wav 文件的示例。

我希望所有这些信息有助于做出如何继续前进的决定,并祝您的项目顺利。

关于jquery - 使用 jquery 的 Google 文本转语音 onclick - 跨浏览器实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7483289/

相关文章:

jquery - 使用 jQuery 绘制动画线条

jquery - 鼠标悬停时显示子项,鼠标移开时隐藏子项

javascript - 如何为不同的选项卡集设置单独的行为?

javascript - Internet Explorer 8 和 7 正在将制表符转换为空格

html - ie7中的额外空间

Python - 音频文件未关闭 -> os.remove()

android - TTS Android 4.1 果冻 bean

javascript - 如何获取所有复选框值并将每个复选框的值放入特定的文本输入

javascript - 根据浏览器版本删除所有样式

Android SpeechRecognizer 在第二次收听时失败