2015-06-01 3 views
1

Я работаю над приложением, которое использует EZAudio для получения аудиоданных с микрофона для отправки его по Wi-Fi, а затем записывает полученные аудиоданные на втором устройстве. Все работает отлично, однако, когда я пытался использовать EZRecorder из своего файла примера, я получаю эту ошибку: «Ошибка: не удалось установить формат клиента для записанного аудиофайла (-66563)». Я должен упомянуть, что исходный пример кода работает без проблемы сам по себе, но я получаю сообщение об ошибке, когда я перехожу код в свой проект.Ошибка: не удалось установить формат клиента в записанном звуковом файле (-66563) - EZRecorder/EZAudio

Любая помощь приветствуется.

Вот фрагмент кода, который вызывает это:

-(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"; 
} 

ответ

0

Убедитесь, что вы инициализирован микрофон с:

self.microphone = [EZMicrophone microphoneWithDelegate:self]; 
0

Что касается моих знаний обеспокоен вы должны удалить ранее записанный звук , Вот пример кода, который я использовал для удаления аудио,

'- (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++; 
}' 

Надеюсь, это может дать некоторое представление о вашей проблеме.