【问题标题】:How Can I download Text to Speech data from google translate?如何从谷歌翻译下载文本到语音数据?
【发布时间】:2012-11-05 00:12:14
【问题描述】:

我正在尝试创建一个说希腊语的应用程序。但由于 Microsoft 不支持将希腊语作为一种口语,而且我对如何创建自己的词典 (here) 的指南提出了问题,所以我问这个问题:

如何下​​载包含我在运行时发送给谷歌翻译的文本的 mp3(或只是数据无关紧要)并使用 C# 播放?

【问题讨论】:

    标签: c# google-translate text-to-speech


    【解决方案1】:

    只需使用此链接下载 MP3:

    http://translate.google.com/translate_tts?tl=el&q=%22hello%22
    

    编辑: 请注意,某些浏览器(例如 Firefox)会将 %22 替换为 ",并且链接不起作用,因此您需要复制它并且无法单击它!

    如何下​​载文件: http://www.csharp-examples.net/download-files/

    http://msdn.microsoft.com/en-us/library/ez801hhe.aspx

    如何播放 MP3: http://msdn.microsoft.com/en-us/library/4y171b18.aspx

    using System.Media;
    
    String strTextYouWantAsMp3 = "Hello";
    WebClient webClient = new WebClient();
    webClient.DownloadFile("http://translate.google.com/translate_tts?tl=el&q=%22" + strTextYouWantAsMp3 + "%22", @"c:\audio.mp3");
    
    SoundPlayer simpleSound = new SoundPlayer(@"c:\audio.mp3");
    simpleSound.Play();
    

    【讨论】:

    • 首先同步和异步下载文件有什么区别??其次,Firefox与一切有什么关系? (也许我理解你的回答错了第三我希望将文本发送到谷歌翻译并从我的代码中获取所有 tts 而不仅仅是从浏览器获取链接。它将在运行时完成
    • 1.如果你同步下载它,除了下载之外你不能做任何事情(你的用户界面会冻结)2.没关系,因为我使用了一个代码框作为链接,所以你不能点击它。 3.是的,你需要使用 webClient.DownloadFile(Link) 下载链接中给出的文件
    • 这个例子不起作用。 SoundPlayer 不播放 MP3。它在MSDN reference 中特别说明了这一点。我发现的唯一方法是使用 WMPLib COM 控件来播放 MP3。
    • Google 已于 2015 年 11 月阻止此行为。
    【解决方案2】:

    此链接现已损坏,您可以在此处参考 Chris Cirefice 的答案: Google Text-To-Speech API

    按照建议,您需要针对以下 URL 发出获取请求 http://translate.google.com/translate_tts?tl=en&q=Hello%20World&client=t 其中q={your word you want to translate}tl={your language}

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2013-05-06
      • 2015-04-05
      • 2014-01-18
      • 1970-01-01
      • 2019-06-01
      相关资源
      最近更新 更多