Как загрузить аудиоклип в реальном времени на сервер во время его записи? В основном мое требование - загрузить аудиоклип в виде патронов/пакетов во время его записи. Я уже сделал запись с помощью IQAudioRecorderController https://github.com/hackiftekhar/IQAudioRecorderController. Он записывает аудио и сохраняет в TemporaryDirectory.Загрузить аудиоклип в реальном времени во время его записи?
Я хотел знать, как загрузить в реальном времени, не сохраняя аудиоклип.
Это запись часть
//Unique recording URL
NSString *fileName = [[NSProcessInfo processInfo] globallyUniqueString];
_recordingFilePath = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.m4a",fileName]];
// Initiate and prepare the recorder
_audioRecorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:_recordingFilePath] settings:recordSetting error:nil];
_audioRecorder.delegate = self;
_audioRecorder.meteringEnabled = YES;
// Recording start
- (void)recordingButtonAction:(UIBarButtonItem *)item
{
if (_isRecording == NO)
{
_isRecording = YES;
//UI Update
{
[self showNavigationButton:NO];
_recordButton.tintColor = _recordingTintColor;
_playButton.enabled = NO;
_trashButton.enabled = NO;
}
/*
Create the recorder
*/
if ([[NSFileManager defaultManager] fileExistsAtPath:_recordingFilePath])
{
[[NSFileManager defaultManager] removeItemAtPath:_recordingFilePath error:nil];
}
_oldSessionCategory = [[AVAudioSession sharedInstance] category];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];
[_audioRecorder prepareToRecord];
[_audioRecorder record];
}
else
{
_isRecording = NO;
//UI Update
{
[self showNavigationButton:YES];
_recordButton.tintColor = _normalTintColor;
_playButton.enabled = YES;
_trashButton.enabled = YES;
}
[_audioRecorder stop];
[[AVAudioSession sharedInstance] setCategory:_oldSessionCategory error:nil];
}
}
// Recording done
-(void)doneAction:(UIBarButtonItem*)item
{
if ([self.delegate respondsToSelector:@selector(audioRecorderController:didFinishWithAudioAtPath:)])
{
IQAudioRecorderController *controller = (IQAudioRecorderController*)[self navigationController];
[self.delegate audioRecorderController:controller didFinishWithAudioAtPath:_recordingFilePath];
}
[self dismissViewControllerAnimated:YES completion:nil];
}
Вам не нужно «ffmpeg» для загрузки звука, и у вас, вероятно, возникнут проблемы с лицензированием при установке приложения в App Store. – damian
Могут быть другие варианты для ffmpeg, но если вы относитесь к лицензированию, то нет проблем с отправкой сборки в App Store, потому что я успешно отправил приложение с реализацией ffmpeg в App Store, но вы должны упомянуть, что используете его в ваше приложение для целей кредитования. – Yuvrajsinh
ffmpeg имеет лицензию LGPL. Условия LGPL несовместимы с App Store. В основном, вы нарушаете условия лицензирования ffmpeg. https://trac.ffmpeg.org/ticket/1229 – damian