Мне интересно, есть ли способ записи звука в приложении iOS, чтобы он не сохранялся в каком-либо файле, потому что мой размер файла попадает в GB.AVAudioRecorder: Можно ли записать без сохранения в файл?
Спасибо!
Мне интересно, есть ли способ записи звука в приложении iOS, чтобы он не сохранялся в каком-либо файле, потому что мой размер файла попадает в GB.AVAudioRecorder: Можно ли записать без сохранения в файл?
Спасибо!
Если вы записываете аудио, это значит, что вам нужно его где-то сохранить, потому что для этого вам нужно какое-то пространство, иначе вы можете записывать?
Вы можете использовать NSTemporaryDirectory
, чтобы сохранить файл как,
NSString *folderPath = NSTemporaryDirectory();
NSString *soundFilePath = [folderPath
stringByAppendingPathComponent:[NSString stringWithFormat: @"%.0f%@", [NSDate timeIntervalSinceReferenceDate] *1000.0, @"audio.caf"]];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSLog(@"Using File called: %@",soundFileURL);
audioRecorder = [[ AVAudioRecorder alloc] initWithURL:soundFileURL settings:recordSetting error:&error];
[audioRecorder setDelegate:self];
[audioRecorder prepareToRecord];
Выше приведен фрагмент кода, так что вы получите идею!
ios
автоматически очищает NSTemporaryDirectory
, когда это необходимо, чтобы не беспокоить вас. И да, вы должны хранить записанное аудио где-то, если хотите, чтобы он был постоянным!
Вы можете создать свой собственный каталог, который может работать как temp directory
, который вы можете удалить вручную, если необходимо! (Создать каталог в документе записи каталога файлов там и очистить его, когда ваша задача будет завершена)
But you can't record without storing it!
Представьте, что вы могли бы - это было бы лучше? Хранение данных в RAM в RAM? .. Звучит плохо.
Если вы хотите сохранить дисковое пространство бесплатно, что вы могли бы сделать, это:
1) Сохранить небольшую часть данных в файл (например, 20 MB)
2) Послать этот файл бакэнду? и удалите его с диска по завершении
3) Повторите процесс до завершения записи