【问题标题】:How to change Language in Google TTS API in iOS?如何在 iOS 中更改 Google TTS API 中的语言?
【发布时间】:2012-08-19 00:57:04
【问题描述】:

我在 iOS 中使用 Google 文字转语音服务。

我可以使用以下代码进行英文 TTS。

NSString *queryTTS = [text stringByReplacingOccurrencesOfString:@" " withString:@"+"];

NSString *linkTTS = [NSString stringWithFormat:@"http://translate.google.com/translate_tts?tl=en&q=%@",queryTTS];

NSData *dataTTS = [NSData dataWithContentsOfURL:[NSURL URLWithString:linkTTS]];

_googlePlayer = [[AVAudioPlayer alloc] initWithData:dataTTS error:nil]; 
[_googlePlayer play];

所以我将 url 地址更改为语音泰国 TTS,如以下链接。

NSString *queryTTS = [text stringByReplacingOccurrencesOfString:@" " withString:@"+"];

NSString *linkTTS = [NSString stringWithFormat:@"http://translate.google.com/translate_tts?tl=th&q=%@",queryTTS];

NSData *dataTTS = [NSData dataWithContentsOfURL:[NSURL URLWithString:linkTTS]];

_googlePlayer = [[AVAudioPlayer alloc] initWithData:dataTTS error:nil]; 
[_googlePlayer play];

在我将该链接更改为 "th" 后,该 google TTS 服务无法说出我的泰文文本。

我的代码错了吗?

如果没有,我如何在 Google Text To Speech API 中更改语言?

感谢您的阅读。

【问题讨论】:

    标签: ios text-to-speech


    【解决方案1】:

    只是想说声谢谢。我正在寻找如何在 iPhone 上使用 API,这很有帮助。另外,我尝试将语言更改为泰语并没有问题。

    * ** 更新 ** *

    抱歉,我无法让它工作。我没有任何泰语文字,所以我只使用了英语,它把这个词拼出来了。我认为这意味着它正在工作。然而,当我用正确的词改成韩文和中文时,我什么也听不见了。但是,英语、法语、德语和意大利语都可以使用。

    我可以通过添加以下内容来解决此问题:

    NSURL *url = [NSURL URLWithString:[linkTTS stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    NSData *dataTTS = [NSData dataWithContentsOfURL:url];
    

    我的问题(也可能是你的问题)是 URL 中有国际字符。这导致 [NSURL URLWithString] 返回 nil。

    这将在模拟器中工作,要完成剩下的工作,请查看此线程:

    iPhone SDK - Google TTS and encoding

    基本上,您必须将用户代理更改为其他内容,例如“Mozilla/5.0”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多