c#从谷歌翻译下载文本到语音有问题
本文关键字:语音 有问题 文本 下载 谷歌 翻译 | 更新日期: 2023-09-27 18:11:06
我正在尝试下载由google translate和生成的mp3文件,尽管要实现此,翻译不像预期的那样。
我是葡萄牙人,我们使用很多特殊字符,我认为这就是问题所在…
string text = "Teste de criação no ficheiro";
string googleTextToSpeech = "http://translate.google.com/translate_tts?tl=pt&q=";
string url = googleTextToSpeech + HttpUtility.UrlEncode(text);
string url2 = googleTextToSpeech + text;
using (WebClient myWebClient = new WebClient())
{
myWebClient.DownloadFile(url, pathToSaveFile + "''" + "mp3CriationTest.mp3");
myWebClient.DownloadFile(url2, pathToSaveFile + "''" + "mp3CriationTest2.mp3");
}
文件实际上是创建的,但在这两种情况下,声音说的是同样的事情:直到"Teste de cria"(在"ç"answers"~"之前)ok,"no ficheiro"ok。中间的声音说了一些不太明确的话……Hope I是明确的。=)
正如你所看到的,我尝试了和没有UrlEncode
和相同的结果…我也试过UrlEncode all url。我用BinaryWriter
试一下,问题是一样的。我试着在myWebClient.DownloadFile
中通过new Uri(url)
,没有任何变化。
最让我恼火的是,如果你把url结果放在浏览器中,你可以听正确的文本到语音。试试:http://translate.google.com/translate_tts?tl=pt&q=Teste de cria
"Teste de cria
下面的内容对我来说很好:
using System.Net;
using System.Text;
using System.Web;
class Program
{
static void Main()
{
var text = "Teste de criação no ficheiro";
var url = "http://translate.google.com/translate_tts?tl=pt&q=";
url += HttpUtility.UrlEncode(text, Encoding.GetEncoding("utf-8"));
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1";
client.DownloadFile(url, "mp3CriationTest.mp3");
}
}
}