2013-04-12 5 views
0

Я работаю над приложением, которое записывает аудио и воспроизводит записанный файл, который хранится в каталоге документа.После записи звука и сохранения в каталог документа, который не может воспроизводить аудиофайл с помощью AVAudioPlayer

Вот мой код:

Запись метод кнопки.

(IBAction)stopButtonPressed:(id)sender{ 

    UIButton *button = (UIButton *)sender; 

    if (button.selected) { // Play recorded file. 

    self.stopButton.selected = NO; 

    NSError *error; 

    self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioRecorder.url  error:&error]; 

    self.audioPlayer.delegate = self; 

    self.audioPlayer.volume = 1.0; 

    [self.audioPlayer prepareToPlay]; 

    [self.audioPlayer play]; 

    } 

    else{ // Stop recording. 

    self.stopButton.selected = YES; 

    if (recordTimer) { 

    [recordTimer invalidate]; 

    } 

    [self.audioPlayer stop]; 

    self.recordButton.selected = NO; 

    [audioRecorder stop]; 

    self.readyLabel.text = @"READY"; 

    [self insertNewRecording]; 
     } 
    } 
+0

Я могу записать файл, но не в состоянии играть, что записанный файл. –

+0

вы проверили ошибку? – CarlJ

+0

Это не показывает мне никакой ошибки. –

ответ

1

um..I не уверен. Но как тест, может быть, вы можете попробовать, если вы можете воспроизвести файл, указав его имя? Например. вы получили forest.mp3 играть и ключевую часть кода может выглядеть так:

path = [[NSBundle mainBundle] pathForResource:@"forest" ofType:@"mp3"]; 
NSData *sampleData = [[NSData alloc] initWithContentsOfFile:path]; 
NSError *audioError = nil; 
av = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError]; 

Если все прошло хорошо, может быть, это что-то делать с audioRecorder.url в вашем коде?

Надеюсь, это даст вам некоторые идеи.

+0

Да, это было связано с проблемой пути. теперь я могу воспроизвести записанный файл. –

2

Я полагаю, вы используете ARC, и в этом случае вам нужно будет сохранить AVAudioPlayer, поскольку он автоматически устанавливает нуль. В вашем файле заголовка введите следующее:

@property (неатомный, сильный) AVAudioPlayer * audioPlayer;

Надеется, что это работает для вас, Приветствия Джим

+0

Вы были правы. – junaidsidhu