1

我正在使用 iPhone 应用程序,我需要集成 Google Text-To-Speech (Google TTS)。

它仅适用于英文字母表中的字符。尝试使用 Ᾰ、Д、И 等特殊字符形成链接 (linkTTS) 时,它不再起作用。代码如下所示:

NSString *queryTTS = [[NSString alloc] init]; //text to be read
queryTTS = [query stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSString *linkTTS = [NSString stringWithFormat:@"http://translate.google.com/translate_tts?tl=en&q=%@",queryTTS];

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

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

我尝试使用 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding 但这不起作用,因为 Google TTS 无法识别这种类型的 URL 编码。

4

1 回答 1

0

我在使用 Android 应用程序时遇到了同样的问题。我尝试了许多编码类型,但没有奏效。最终解决问题的方法是将 GET 请求的“User-Agent”属性指定为“Mozilla/5.0”。哦,我发现最适合的编码类型是 UTF-8。它允许识别大多数特殊字符,实际上是谷歌翻译支持的任何字符。
希望这可以帮助

于 2011-02-01T07:54:28.513 回答