谷歌翻译API文本到语音:http请求禁止



我正在制作一个语言学习网络应用程序,当您将鼠标悬停在单词上时,它会为您发音。我想从谷歌翻译API访问母语翻译

我已经找到了这个资源,它将http://translate.google.com/translate_tts作为基础URL, tl为目标语言,q为查询字符串。

当我在浏览器中访问它时,它工作得很棒,http://translate.google.com/translate_tts?tl=zh-CN&q=,但是我的应用程序的任何httprequest返回一个403 Forbidden错误。

localhost:~ me$ wget"http://translate.google.com/translate_tts?ie=UTF-8& tl = en& q =你好+世界"——2015-06-02 11:02:06——http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=hello+world解决translate.google.com…173.194.123.38 173.194.123.36,173.194.123.32,……连接到transe.google.com |173.194.123.38|:80…连接。HTTP请求已发送,等待回复…403 Forbidden 2015-06-02 11:02:07 ERROR403:禁止。

是否有一个正式的谷歌API与传统的谷歌翻译API的支付计划相关联的文本到语音?或者有一种方法get并以某种方式播放这个音频?

你可以得到任何声音,我发现它:https://translate.google.com.vn/translate_tts?ie=UTF-8&q=ANYTHING_TEXT&tl=en&client=tw-ob注意:客户= tw-ob

该资源是有日期的。Google已弃用免费访问语言翻译api。现在需要一个API密钥。该api现在也在V2中。

如果没有api密钥,您将收到403 forbidden错误。

更多信息在这里:https://cloud.google.com/translate/docs

您只允许在google翻译域名上使用web工具:

var elText = 'こんにちは世界';
var language = 'ja-JP';
var source = 'https://translate.google.com/translate_tts?tl=' +
    language +
    '&q=' +
    encodeURIComponent(elText) +
    '&client=tw-ob';
var audio = new Audio(source);
audio.play();
<!DOCTYPE html>
<html>
<head>
<title>Text TO Speach</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("#says").click(function(){
    var url="https://translate.google.com/translate_tts?ie=UTF-8&q="+encodeURIComponent($("#text").val())+"&tl=ta&client=tw-ob";
    $(".speech").attr('src',url).get(0).play();
    console.log("URL : "+$(".speech").attr('src'));
  });
  
});
</script>
</head>
<body>
<input type="text" name="text" id="text" value="Token Number : 2">
<button type="button" id="says">Speak</button>
<audio src="" class="speech" hidden></audio>
</body>
</html>
    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    </head>
    <body>
    
    <input type="text" name="text" id="text" value="Token Number : 2">
    <button type="button" id="says">Speek</button>
    <audio src="" class="speech" hidden></audio>
    <script>
      $("#says").click(function(){
         if ('speechSynthesis' in window) {
// Speech Synthesis supported 🎉
          var msg = new SpeechSynthesisUtterance();
    msg.text = $("#text").val();
    window.speechSynthesis.speak(msg);
    
    }else{
      // Speech Synthesis Not Supported 😣
      alert("Sorry, your browser doesn't support text to speech!");
    }
    });
    </script>
    </body>
    </html>

相关内容

  • 没有找到相关文章

最新更新