2

iOS で Google Text To Speech Services を使用しています。

次のコードを使用して、英語の 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 アドレスを Speech thailand 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 で言語を変更するにはどうすればよいですか?

読んでいただきありがとうございます。

4

1 に答える 1

0

ありがとうと言いたかっただけです。iPhoneでAPIを使用する方法を探していましたが、これが役に立ちました。また、言語をタイ語に変更してみましたが、問題ありませんでした。

* ** アップデート ** *

うまくいきませんでした。タイ語のテキストがなかったので、英語を使って単語を綴りました。私はそれが働いていることを意味すると思いました。しかし、韓国語や中国語に適当な言葉に変えてみると、何も聞こえませんでした。ただし、英語、フランス語、ドイツ語、イタリア語はすべて機能しました。

以下を追加することでこれを修正できました。

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

私の場合 (そしておそらくあなたの場合) の問題は、URL に国際文字が含まれていたことです。これにより、[NSURL URLWithString] が nil を返しました。

これはシミュレーターで機能します。残りの方法については、次のスレッドを確認してください。

iPhone SDK - Google TTS とエンコーディング

基本的に、ユーザー エージェントを「Mozilla/5.0」などの別のものに変更する必要があります。

于 2012-08-18T14:45:46.817 に答える