HTML5语音输入和Google翻译文本

我正在创建一个语音/文本备忘录Web应用程序。 这里:http://gustavstromberg.se/sandbox/html5/localstorage/看看它的来源(很简短,大部分是css)

这是:

  • 语音识别,只有我知道,只能用于铬。
  • 本地存储,将笔记存储为文本。
  • 谷歌翻译文本到语音。
  • 一切正常,但在不同的浏览器。 语音输入工作完美,只有在铬。 在safari中的文字到语音的作品。

    要动态地将备忘录加载到我使用的audio> source元素中:

    $("#spokenmemory").html("<source src='http://translate.google.com/translate_tts?tl=en&q="+localStorage['memory']+"' />");
    

    (localStorage ['记忆']包含我存储的文本备忘录)

    要使用Google文本语音转换功能播放我最近保存的备忘录,请使用:

    $("#listenplay").click(function(){
        $("#spokenmemory")[0].play();
    });
    

    (口述内存是我的音频标签的id属性)

    这并不适用于Chrome浏览器,但如果我访问翻译链接(例如:http://translate.google.com/translate_tts?tl=en&q=Japan,我的文本备忘录是“日本”)单独的浏览器选项卡,然后返回到我的网站,并重新加载页面(与相同的文本备忘录“日本”保存),播放工程。 多么奇怪,并且开始!

    有没有人有这种奇怪的行为的想法?


    这是因为Google限制某些类型的请求以防止服务被重载。 因此,当您的浏览器尝试获取音频文件时,音频文件不会被抓取。 一旦你访问了翻译链接,音频文件就被提取并被缓存,这就是播放工作的原因(只要文本提示是相同的)。 这是我的观察,但我不太确定。

    当我使用CURL来获取文件时,这是我得到的回应:


    那是一个错误。

    您的客户端没有权限获取URL /translate_tts?q=hello来自此服务器的/translate_tts?q=hello



    我尝试了努力Gustav,这是我经过一些研究和测试后发现的。

    看起来Chrome浏览器在播放MP3时遇到了问题(格式为google)。 我能想到的唯一解决方案是将文件(cURL?)发送到服务器,然后将其呈现给用户。 我假设Google发布官方API时,也会有某种格式选项。

    http://code.google.com/p/chromium/issues/detail?id=45152

    http://www.trygve-lie.com/blog/entry/html_5_audio_element_and(是的,播放按钮与背景颜色相同,质朴)

    链接地址: http://www.djcxy.com/p/34435.html

    上一篇: HTML5 speech input and Google Translate text

    下一篇: How to train Syllables instead of phones using HTK?