После объединения файлов WAV NSURL равен нулю - PullRequest
0 голосов
/ 02 января 2012

Хорошо, поэтому у меня есть этот метод (нашел здесь ).Это добавляет 2 файла WAV вместе, чтобы воспроизвести их впоследствии.Этот метод вызывается так:

if(soundFileURL != nil) {
    NSURL *tempURL = [WavUtils mergeFile1:finalSoundFileURL withFile2:soundFileURL];

    if(tempURL != nil) {
        NSLog(@"Wav files have been merged: %@", [tempURL absoluteString]);
        finalSoundFileURL = [tempURL retain];
        [soundFileURL release];
        soundFileURL = nil;
        [recorder release];
        recorder = nil;
    } else {
        NSLog(@"Wav files could not be merged.");
    }
}

Сохранение в finalSoundFileURL = [tempURL retain]; было заменено многими другими вещами, кроме сохранения, но оно не работает вообще.Когда слияние завершено, я проверяю, что файл содержит с этим:

NSLog(@"Calculated: %d - Real: %d", totalLength, [soundFileData length]);
NSLog(@"From file: %d", [[NSData dataWithContentsOfURL:file1] length]);

Это показывает следующее в журнале:

2012-01-02 18:20:28.549 App[2186:207] Calculated: 72146 - Real: 72146
2012-01-02 18:20:28.549 App[2186:207] From file: 72146

Таким образом, файл заполнен, NSURL заполнени указывает на правильный файл.Но когда я пытаюсь отправить этот файл на сервер, я снова проверяю это:

NSLog(@"Adding file: %@ with length: %d", [finalSoundFileURL absoluteString], [[NSData dataWithContentsOfURL:finalSoundFileURL] length]);

Но это возвращает следующее:

2012-01-02 18:22:38.980 App[2186:207] Adding file: (null) with length: 0

Это заставляет меня поверить, что это проблема с автоматическим выпуском, но я не могу найти это!Если у кого-то есть идеи, где это может быть, пожалуйста, скажите мне.

С уважением

1 Ответ

0 голосов
/ 22 мая 2012

Извините, что не опубликовал это раньше, но проблема была в неправильном вызове release / autorelease для переменной до того, как она была отправлена ​​методу, описанному в вопросе.Я нашел его, следуя переменной от начала до конца и проверяя, что она делает и что с ней происходит.

...