FYI
статус: 0 - правильно,
статус: 4 - отсутствует аудиофайл,
статус: 5 - неверный аудиофайл.
In place of ;
NSString *requestBody = [[NSString alloc] initWithFormat:@"Content=%@", myData];
[request setHTTPBody:[requestBody dataUsingEncoding:NSASCIIStringEncoding]];
Просто используйте;
[request setHTTPBody:myData];
Вот рабочий код для справки:
- (Недействительными) googleSTT {
NSString *homeDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", homeDirectory, @"test.flac"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]
initWithURL:[NSURL
URLWithString:@"https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=en-US"]];
[request setHTTPMethod:@"POST"];
//set headers
[request addValue:@"Content-Type" forHTTPHeaderField:@"audio/x-flac; rate=16000"];
[request addValue:@"audio/x-flac; rate=16000" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:myData];
[request setValue:[NSString stringWithFormat:@"%d",[myData length]] forHTTPHeaderField:@"Content-length"];
NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"The answer is: %@",result);
}