您现在必须付费才能使用google translate api。我很高兴为这项服务买单,但我找不到使用这种方法的方法。这就是我正在做的事情
var GoogleTranslate = function(){
var key = "myapikey"
this.speak = function(words) {
var url = "http://translate.google.com/translate_tts?tl=es&q=" + escape(words) + "&key=" + key
new Audio(url).play();
}
}
但是当我做新的GoogleTranslate()。发言(“hola”)
http://translate.google.com/translate_tts的请求永远不会返回响应。我如何使这个工作?
答案 0 :(得分:2)
我还没有尝试过您的代码,所以我不确定您是否应该等待声音加载才可以播放(最有可能),但我最近写了一篇关于此服务的文章。这里重要的部分如下:
...如果您的浏览器使用除空字符串之外的任何值转发Referer标头(意味着它告诉服务您点击链接的页面),那么[Google]将返回404(未找到) http错误...
在此处阅读整篇文章:Embedding text-to-speech into HTML5 games
所以事实上,服务仍然存在,你只需要隐藏你的引用标题。一种方法是通过创建一个小网关脚本。文章中有一个权利来源。