Этот код работал, но когда я перешел на iOS 6, он остановил поддержку mp4.AVAudioRecorder записывает неверный файл?
готовлюсь написать
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"Temp.mp4"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSDictionary *recordSettings = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithFloat: 32000], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
nil];
NSError *error = nil;
self.audioRecorder = nil;
AVAudioRecorder *audioRecorderBuffer = [[AVAudioRecorder alloc]
initWithURL:soundFileURL
settings:recordSettings
error:&error];
self.audioRecorder = audioRecorderBuffer;
self.audioRecorder.delegate = self;
if (error)
NSLog(@"error: %@", [error localizedDescription]);
else
[self.audioRecorder prepareToRecord];
затем записать, STO, сохраните его, и когда я пытаюсь играть:
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:_audioURL error:&error];
_audioPlayer.delegate = self;
if (error)
NSLog(@"Error: %@", [error localizedDescription]);
else {
[_audioPlayer prepareToPlay];
if (![_audioPlayer play]) {
NSLog(@"Play Error: %@", error);
}
}
я получаю и ошибка:
Ошибка: Операция не мог» t будет завершено. (Ошибка OSStatus 1685348671.)
Код работает в несжатом формате. Сжатый mp4 работает на iPhone 4 с прошивкой 6, работал также на iPhone 4S с прошивкой 5.x, но не работает на iPhone 4S, ни Iphone 5 с прошивкой 6.
AVAudioRecorder записи и записывает файл, то AVAudioPlayer имеет Ошибка Ошибка: операция не может быть завершена. (Ошибка OSStatus 1685348671.). В документации указано, что формат файла поврежден.
Любые идеи?
У меня точно такая же проблема. Он завершает запись, но файлы не воспроизводятся. Есть комментарии? – KiNG