Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 点击播放网站上的谷歌文本到语音Api_Javascript_Php_Jquery_Text To Speech_Google Text To Speech - Fatal编程技术网

Javascript 点击播放网站上的谷歌文本到语音Api

Javascript 点击播放网站上的谷歌文本到语音Api,javascript,php,jquery,text-to-speech,google-text-to-speech,Javascript,Php,Jquery,Text To Speech,Google Text To Speech,我有这一段 年轻女孩背部的天使翅膀纹身指向军官 一个名叫蒂娜·方丹的15岁女学生逃跑了。在内部 蒂娜的案子在加拿大成为头条新闻,不仅仅是因为 她死亡的可怕性质,但她所做的一切 代表 想在我的网站上点击播放吗! 到目前为止,这是我最好的代码,他们说它不能处理超过100个字符 var audio = new Audio(); audio.src ='http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello%20

我有这一段

年轻女孩背部的天使翅膀纹身指向军官 一个名叫蒂娜·方丹的15岁女学生逃跑了。在内部 蒂娜的案子在加拿大成为头条新闻,不仅仅是因为 她死亡的可怕性质,但她所做的一切 代表

想在我的网站上点击播放吗! 到目前为止,这是我最好的代码,他们说它不能处理超过100个字符

var audio = new Audio(); 
audio.src ='http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello%20World.'; 
audio.play();
有什么建议吗?仅使用jquery/Javascript/PHP 谢谢

php是这样的:(你可以把它放在同一个页面中(在顶部)!)



要正确地将字符串拆分为多个部分,您可以查找类似于

的问题。如果您复制此代码,它将以英语播放hello world。当你点击这个,你就会知道如果用户不使用chrome怎么办?我看到了你的另一个答案,我得到了音频,播放它,在它结束后,每个循环100个字符?如果用户不使用Chrome,我最好提供音频文件,或者让google语音?@JoshuaFrederic从逻辑上说,你可以激活脚本的另一部分,使用AJAX和php获得100乘100的音频片段。哪一个更容易?php循环获取音频还是javascript循环流音频?以下是我找到的一些很好的答案@JoshuaFrederic你必须将两者结合起来。JS AJAX>to>PHPsadly现在我不在有php设备的笔记本电脑中。2个多小时可以测试代码,代码做什么?如果我输入$txt作为3000个字符的文本,它会输出并保存mp3文件吗?然后在网站上,我可以在服务器上播放音频文件
function say( text ){
  if('speechSynthesis' in window) { // Chrome only !!

    var speech = new SpeechSynthesisUtterance( text );
    speech.lang = 'en-US';
    window.speechSynthesis.speak(speech);

  } else { // Other browsers !!

     // Use AJAX (with GET) to a .php to file_get_contents
     // generate the <100 by <100 charaters audio files, and nest in callbacks

  }
}


say("A tattoo of angel wings can handle more than 100 characters");
$("#playButton").click(function(){
    var string = encodeURIComponent( $("textarea").val() );
    // TODO: split 100+ string into chunks of rightly punctuated sentences.
    $.ajax({
        data: { text: string },
        success : function(d) {
            var audio = new Audio();
            audio.src = "data:audio/mpeg;base64,"+d;
            audio.play();
            audio.onended = function() {
                alert("Ended playing first part");
                // TODO : if we have chunks, play the next one!
            }
        }
    });
});
<?php 
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['text']) && isset($_GET['lang'])) {
    $voice = file_get_contents("http://translate.google.com/translate_tts?q=". $_GET['text'] ."&tl=". $_GET['lang'] ."&ie=UTF-8");
    echo base64_encode( $voice );
    exit;
}
?>