Ошибка: не удалось установить формат клиента для записанного аудиофайла (-66563) - EZRecorder / EZAudio
Я работаю над приложением, которое использует EZAudio для получения аудиоданных с микрофона и отправки их по Wi-Fi, а затем записывает полученные аудиоданные на 2-м устройстве. Однако все работает отлично, когда я пытался использовать EZRecorder из их файла примера, я получаю эту ошибку: "Ошибка: не удалось установить формат клиента для записанного аудиофайла (-66563)". Я должен отметить, что оригинальный пример кода работает без проблем сам по себе, но я получаю ошибку, когда я перемещаю код в свой проект.
Любая помощь приветствуется.
Вот фрагмент кода, который вызывает это:
-(void)toggleRecording:(id)sender
{
if (recTest==0)
{
[recButton setImage:[UIImage imageNamed:@"rec2.png"] forState:UIControlStateNormal];
recTest=1;
}
else if (recTest==1)
{
[recButton setImage:[UIImage imageNamed:@"rec.png"] forState:UIControlStateNormal];
recTest=0;
}
self.playingTextField.text = @"Not Playing";
if(self.audioPlayer)
{
if(self.audioPlayer.playing)
{
[self.audioPlayer stop];
}
self.audioPlayer = nil;
}
if(recTest==1)
{
//Create the recorder
self.recorder = [EZRecorder recorderWithDestinationURL:[self testFilePathURL]
sourceFormat:self.microphone.audioStreamBasicDescription
destinationFileType:EZRecorderFileTypeM4A];
self.isRecording = NO;
}
else
{
[self.recorder closeAudioFile];
self.isRecording = YES;
}
self.recordingTextField.text = self.isRecording ? @"Recording" : @"Not Recording";
}
2 ответа
Убедитесь, что вы инициализировали микрофон с:
self.microphone = [EZMicrophone microphoneWithDelegate:self];
Насколько мне известно, вы должны удалить ранее записанный звук. Вот пример кода, который я использовал для удаления аудио,
'- (void)toggleRecording:(id)sender
{
[self.player pause];
if(!(wil%2))
{
[self.recorder closeAudioFile];
[NSThread sleepForTimeInterval:0.1];
}
if ([sender isOn])
{
//
// Create the recorder
//
[self.recordingAudioPlot clear];
[self.microphone startFetchingAudio];
self.recorder = [EZRecorder recorderWithURL:[self testFilePathURL]
clientFormat:[self.microphone audioStreamBasicDescription]
fileType:EZRecorderFileTypeM4A
delegate:self];
self.playButton.enabled = YES;
}
self.isRecording = (BOOL)[sender isOn];
self.recordingStateLabel.text = self.isRecording ? @"Recording" : @"Not Recording";
wil++;
}'
Надеюсь, что это может дать некоторое представление о вашей проблеме.