Я вызываю функцию ниже, чтобы преобразовать речь в текст с помощью google api. Я делаю это в последней версии xcode и Im, делающей это приложение для mac. Проблема заключается в том, что функция ниже, по-видимому, разбивается на NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:nil];
, поэтому я не могу проверить речевую речь. Я пробовал асинхронную отправку, но, похоже, это не помогло. Я также попробовал @autoreleasepool {}, но он также не помог. Любая помощь приветствуется!NSURLConnection не вызвано должным образом в объективе c для Mac-приложения
-(void)processSpeech {
NSURL *url = [NSURL fileURLWithPath:@"/Users/marcus/Documents/testvoices/okSpeak.query.flac"];
NSData *flacFile = [NSData dataWithContentsOfURL:url];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com/speech-api/v1/recognize?lang=en-US"]];
[request setHTTPMethod:@"POST"];
[request addValue:@"Content-Type" forHTTPHeaderField:@"audio/x-flac; rate=16000"];
[request addValue:@"audio/x-flac; rate=16000" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:flacFile];
[request setValue:[NSString stringWithFormat:@"%ld",[flacFile length]] forHTTPHeaderField:@"Content-length"];
NSHTTPURLResponse *urlResponse = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:nil];
NSString *rawData = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"Raw: %@",rawData);
return rawData;
}
Вы получаете сообщение об ошибке? Нет данных? Что-то другое? – Zarathuztra