Когда я использую этот код, пусть google_tts говорит голос слова, код в порядке, но проблема. Слово "голос" должно прослушивать http://translate.google.com/translate_tts?tl=ru&q=dog(word), а затем запустить этот код. Rusult в порядке, но когда я не буду слушать http://translate.google. com/translate_tts? tl = en & q = собака (слово) сначала код не может говорить слово. Я ссылаюсь на Google Translate TTS problem, я хочу знать реальную проблему и как ее исправить?
Я хочу знать, как исправить, пусть браузер IE и Firefox работает успешно, большое спасибо
HTML
<form id="say-form">
<button id="say-button">Say!</button>
<audio id="audio" preload controls>
<source id="s1" />
</audio>
</form>
JQuery
$('#say-form').submit(function(){
var ar = new Array("dog","egg","what","big")
var i=0,file = $("#audio")
console.log(ar[0])
$("#s1").attr("src", "http://translate.google.com/translate_tts?tl=en&q="+ar[0]).detach().appendTo("#audio");
file[0].load();
file[0].play();
i++;
// when it play end, play next word until ar array it finish
file.on( "ended", function(){
if(i!=ar.length)
{
$("#s1").attr("src", "http://translate.google.com/translate_tts?tl=en&q="+ar[i]).detach().appendTo("#audio");
$(this)[0].load();
$(this)[0].play();
i++;
}
});
return false;
});
Почему бы вам не использовать Php?
$text = urlencode('my text');
$url = "http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=".$text;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$return = curl_exec($ch);
curl_close($ch);
echo $return;
?> как этот Google tts api, дающий мне пустой mp3 или этот http://ctrlq.org/code/19147-text-to-speech-php