Come caricare la clip audio in tempo reale su un server durante la sua registrazione? Fondamentalmente il mio requisito è caricare una clip audio come mandrini/pacchetti durante la sua registrazione. Ho già eseguito la parte di registrazione con IQAudioRecorderController https://github.com/hackiftekhar/IQAudioRecorderController. Registra l'audio e salva in TemporaryDirectory.Carica la clip audio in tempo reale durante la sua registrazione?
Volevo sapere come caricare in tempo reale senza salvare la clip audio.
Questa è la parte di registrazione
//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];
}
Non è necessario 'ffmpeg' per caricare l'audio, e probabilmente avrete problemi di licenza con l'inserimento di un'app integrata nell'App Store. – damian
Potrebbero esserci altre opzioni per ffmpeg, ma se ti preoccupi delle licenze, non ci sono problemi nell'invio di una build ad App Store perché ho inviato con successo un'app con implementazione ffmpeg su App Store, ma devi menzionare che la stai usando la tua app a scopo di credito. – Yuvrajsinh
ffmpeg è concesso in licenza LGPL. I termini della LGPL sono incompatibili con l'App Store. Fondamentalmente, stai violando i termini di licenza di ffmpeg. https://trac.ffmpeg.org/ticket/1229 – damian