voz una tiempo notas nota guardan grabar graba donde cuanto como aplicacion ios background avaudiorecorder

ios - una - notas de voz iphone donde se guardan



GrabaciĆ³n de voz en segundo plano utilizando AVAudioRecorder (1)

Prueba esto,

***Appdelegate.m*** - (void)applicationDidEnterBackground:(UIApplication *)application { __block UIBackgroundTaskIdentifier task = 0; task=[application beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"Expiration handler called %f",[application backgroundTimeRemaining]); [application endBackgroundTask:task]; task=UIBackgroundTaskInvalid; }]; }

AVAudioRecorder grabar la voz del usuario en segundo plano utilizando AVAudioRecorder pero cada vez que obtengo NO al llamar recordForDuration método recordForDuration . Agrego "audio" a UIBackgroundModes pero esto no ayuda. Por cierto, todo funciona perfecto en primer plano. Estoy inicializando AVAudioRecorder usando este código:

NSError* error; if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:&error]) { NSLog(@"Error while setting audio session category. Code - %d, description - /"%@/".", [error code], [error localizedDescription]); return; } NSURL* outputFileURL = [VKMFileSystemHelper uniqueFileInPath:[[VKMFileSystemHelper subdirectoryInsideLibrary:DIR_AUDIO] path] withExtension:@"m4a"]; NSDictionary* recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey, [NSNumber numberWithInt:AVAudioQualityMin] , AVEncoderAudioQualityKey, [NSNumber numberWithInt:16] , AVEncoderBitRateKey, [NSNumber numberWithInt:1] , AVNumberOfChannelsKey, [NSNumber numberWithFloat:12000.0] , AVSampleRateKey, nil]; _recorder = [[AVAudioRecorder alloc] initWithURL:outputFileURL settings:recordSettings error:&error]; [_recorder setDelegate:self]; if (error) { NSLog(@"Error occured during audio recorder initialization. Error code - %d, description - /"%@/".", [error code], [error localizedDescription]); } else { NSLog(@"Start recording."); if ([_recorder recordForDuration:[shedule execLength]]) { NSLog(@"Record started."); } else { NSLog(@"Record failed."); } }

¿Cómo puedo grabar desde el micrófono desde el fondo? es posible?