我正在制作一个语言学习网络应用程序,当您将鼠标悬停在单词上时,它会为您发音。我想从谷歌翻译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>