У меня всегда есть приложение, пока я не установил ios5 на устройство.
это код.
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
//NSLog(@"url");
NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];
//NSLog(@"dizionario");
NSDictionary *audioSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,
nil];
NSError *error;
bool b;
//NSLog(@"audio");
recorder = [[AVAudioRecorder alloc] initWithURL:url settings:audioSettings error:&error];
//NSLog(@"audio");
if (recorder) {
//NSLog(@"prepara");
b=[recorder prepareToRecord];
//NSLog(@"%@",(b ? @"OK" : @"NO"));
//NSLog(@"meter");
recorder.meteringEnabled = YES;
//NSLog(@"recorder");
b=[recorder record];
//NSLog(@"%@", (b ? @"OK" : @"NO"));
// NSLog(@"leveltimer");
// levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.03 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];
} else {
NSLog(@"************** ERRORE: ****************");
NSLog([error description]);
}
В результате рекордер записывает тишина, нет пиковой мощности, нет средней мощности.
я использую xcode4 (ios inxcode4 до 4.3, я не скачал последнюю версию xcode)
почему в ios5 больше не работает?
не совместимо?
спасибо