TTS Google api Xcode 4.x - PullRequest
       24

TTS Google api Xcode 4.x

0 голосов
/ 17 февраля 2012

У меня проблема с API Google TTS. Ну, я думаю, что с API все нормально, потому что если я использую путь к своему рабочему столу и запускаю приложение в симуляторе, он создает файл с mp3. Проблема в том, что я не могу воспроизвести это. У меня нет ошибок, но я ничего не слышу. Я использую AVaudioPlayer. Это код, который я использую:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"file.mp3"];

NSString *text = @"You are one chromosome away from being a potato.";
NSString *urlString = [NSString stringWithFormat:@"http://www.translate.google.com/translate_tts?tl=en&q=%@",text];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url] autorelease];
[request setValue:@"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" forHTTPHeaderField:@"User-Agent"];
NSURLResponse* response = nil;
NSError* error = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:request
                                     returningResponse:&response
                                                 error:&error];
[data writeToFile:path atomically:YES];

AVAudioPlayer  *player;
NSError        *err;
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) 
{    
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:
              [NSURL fileURLWithPath:path] error:&err];
    player.volume = 0.4f;
    [player prepareToPlay];
    [player setNumberOfLoops:0];
    [player play];    
}

Я получил этот код из другого вопроса stackoverflow: Текст в речь на iPhone

1 Ответ

0 голосов
/ 02 марта 2012

Мне кажется, проблема в том, что AVAudioPlayer не является переменной класса. Попробуйте продвинуть это, и попробуйте снова. Удачи

...