나는 앱에 AudioPlayer를 구현했습니다. [AVAudioRecorder prepareToRecord]를 호출하자마자; CPU 사용은 최대 5 %까지 증가합니다. 좋아, 뭔가 유용한 일이 있기 때문에. 하지만 [AVAudioRecorder stop] 후; CPU가 3 %로 떨어지고 거기에 머문다."sleeping"시 AVAudioRecorder가 3 % CPU를 사용하는 것을 막는 방법
이 내가 레코더 구현하는 코드입니다 :
- (void)prepareRecorder
{
outputFileString = [NSString stringWithFormat:@"%@/%@", [self applicationDocumentsDirectory], @"audio.m4a"];
NSArray *pathComponents = [NSArray arrayWithObjects:[self applicationDocumentsDirectory], @"audio.m4a", nil];
outputFileURL = [NSURL fileURLWithPathComponents:pathComponents];
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
recorder = [[AVAudioRecorder alloc] initWithURL:outputFileURL settings:recordSetting error:nil];
recorder.delegate = self;
recorder.meteringEnabled = YES;
[recorder prepareToRecord];
}
이/해제 ARC에서 객체를 할당 해제 할 수 있는지 모르겠어요,하지만 난 노력
recorder = Nil;
어떻게 나는 이것을 해결합니까? 아니면 3 %에 대해 걱정하지 않아도 될까요?
100 회 시작/중지 할 때도 이와 같은 현상이 발생합니까? 또는 멈출 때 더 이상 3 %에 있지 않는가? –
네, 아무리 시작하고 멈추더라도 최소한 3 %를 유지합니다. – Mathijs