J'essaie d'utiliser le texte sur parole sur un site Web en utilisant HTML5 et Google Translate.
Obtenir la parole de Google est aussi simple qu'une demande GET: http://translate.google.com/translate_tts?tl=fr&q=hello
Pour lire ce fichier, j'utilise l'étiquette audio:
<audio id="speech" src="http://translate.google.com/translate_tts?tl=en&q=hello" controls="controls" autoplay="autoplay">Your browser does not support the audio element.</audio>
Cela fonctionne parfaitement lorsque j'essaie d'ouvrir le fichier html localement à l'aide de Chrome 11, mais ne fonctionne pas du tout lorsque j'ouvre le html de mon serveur … Il ne fait tout simplement rien (le bouton de lecture clignote pendant une seconde, Mais rien ne se passe).
Vous pouvez trouver le fichier ici: http://www.announcify.com/chrome/background.html
Des idées? 🙂
À M
Assurez-vous que vos étiquettes rel sont configurées correctement. Il est possible que Google ait une protection multi-domaine.
NodeJS équivalent pour la réponse acceptée (formulée dans les commentaires) est:
app.route("/api/tts").get(function(req,res){ res.type('audio/mpeg'); var text = req.query.q; var request = require('request'); var url = "https://translate.google.pl/translate_tts?ie=UTF-8&q=" + text + "&tl=en&total=1&idx=0&client=t&prev=input"; request.get(url).pipe(res); });
Le client doit envoyer un texte encodé en url en tant que requête param q, p.ex. host / api / tts? Q = Hello