Показать записанные аудиозаписи в виде таблицы

У меня есть представление, отвечающее за запись звука. Как я могу записать несколько аудио и показать их в виде таблицы? Я пытаюсь использовать каталог документов для сохранения записанных аудиозаписей:

NSArray *folders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

NSString *documentsFolder = [folders objectAtIndex:0];

NSString *recordedAudio = [documentsFolder stringByAppendingPathComponent:newAudio];

newAudio — это строка, содержащая новое имя аудио, введенное пользователем с суффиксом .m4a. Чтобы получить сохраненные аудио, я пытаюсь сделать что-то вроде этого:

NSArray *folders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsFolder = [folders objectAtIndex:0];

NSArray *folderContents = [[NSArray alloc] initWithContentsOfFile:documentsFolder];

Я ожидал, что в папке folderContents все аудиозаписи будут храниться в папке документов, чтобы a мог загрузить мою таблицу, но ее счетчик равен 0. Я новичок в каталоге документов, возможно, я что-то упускаю или делаю все неправильно.

Что не так, или есть другой способ сделать это?


person douglasd3    schedule 29.06.2012    source источник
comment
Это вернет вам строку или путь, а не массив.   -  person Abhishek    schedule 29.06.2012
comment
Подробнее здесь.   -  person Dima    schedule 29.06.2012


Ответы (1)


Вы неправильно получаете содержимое каталога документов. Это правильный путь:

NSArray *folderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsFolder error:nil];

Документы - это не файл, это папка.

изменить: так вы сохраняете файл

Предполагая, что у вас есть объект NSData, такой как

NSData *audioData = ...; // initialiazed with your recording

После того, как вы создадите свою строку recordedAudio, которая на самом деле является просто именем файла, в который вы хотите записать (вероятно, должно называться audioPath или что-то в этом роде), вам нужно добавить это:

[audioData writeToFile:recordedAudio atomically:YES];

person Dima    schedule 29.06.2012
comment
Спасибо! Я попробую это позже и вернусь сюда, чтобы сказать, сработало ли. И способ сохранения правильный? - person douglasd3; 29.06.2012
comment
На самом деле вы также не сохраняете файл. Редактирование моего ответа, чтобы показать вам, как это сделать. - person Dima; 29.06.2012