проблема: невозможно записать звук после потоковой передачи звука по http.
Проблема, с которой я столкнулся, заключается в том, что я больше не могу записывать звук после потоковой передачи mp3, используя это руководство: http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html
Я могу отлично записать звук перед тем, как воспроизводить mp3. только после того, как я воспроизведу mp3, используя инструкцию, мое приложение ios больше не сможет записывать звук.
Мне было интересно, не сталкивался ли кто-нибудь из вас с этой проблемой раньше или не догадывался, почему эта проблема возникает? Я опубликую свой код для записи, на случай, если кому-то из вас понадобится посмотреть его.
перед потоковой передачей любого mp3, audioRecorderDidFinishRecording всегда запускается после записи.
после того, как я передаю mp3, audioRecorderDidFinishRecording никогда не запускается после того, как запись была сделана.
Заранее благодарю за помощь.
// #########################
NSURL *soundFileUrl = [NSURL fileURLWithPath:self.recordFilePath];
NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:kAudioFormatLinearPCM], AVFormatIDKey,
[NSNumber numberWithInt:AVAudioQualityMax], AVEncoderAudioQualityKey,
[NSNumber numberWithInt:24], AVEncoderBitRateKey,
[NSNumber numberWithInt:1], AVNumberOfChannelsKey,
[NSNumber numberWithFloat:22050.0f], AVSampleRateKey,
nil];
NSError *error = nil;
self.recorder = [[AVAudioRecorder alloc] initWithURL:soundFileUrl settings:recordSettings error:&error];
if (error) {
NSLog(@"%@", error);
} else{
self.recorder.delegate = self;
[self.recorder prepareToRecord];
[self.recorder record];
self.recordCountdown = [NSTimer scheduledTimerWithTimeInterval:(1.0/1.0) target:self selector:@selector(updateLabelCountdown) userInfo:nil repeats:YES];
}
// delegate for finish recording with success and failure
- (void) audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag {
NSLog(@"record did finish flag - %d", flag);
}
- (void) audioRecorderEncodeErrorDidOccur:(AVAudioRecorder *)recorder error:(NSError *)error {
NSLog(@"error record - %@", [error localizedDescription]);
}