iPhone SDK: как я могу записать аудиофайл, выбранный из библиотеки iPod, в папку «Документы» моего приложения?

Как я могу записать аудиофайл, выбранный из mediaPicker, в папку «Документы» моего приложения?

В основном я выбираю аудиофайл из библиотеки iPod.

Я хочу, чтобы этот выбранный файл был скопирован в папку «Документы» моего приложения.

Чтобы я мог ссылаться на него из папки «Документы» моего приложения.

Что можно сделать?

Спасибо.


person Meghan    schedule 23.02.2011    source источник


Ответы (3)


Я рекомендую TSLibraryImport в iOS4+

http://code.google.com/p/tslibraryimport/

https://bitbucket.org/artgillespie/tslibraryimport

person Ilias Karim    schedule 23.05.2011

Я нашел способ преобразовать песню iPod libray и записать ее в каталог документов, используя

Из библиотеки iPod в сэмплы PCM за гораздо меньшее количество шагов, чем требовалось ранее

Спасибо Матсу Стийлаарту за помощь. Но у меня есть решение для этого.

Надеюсь, это поможет всем.

person Meghan    schedule 10.03.2011

Я не думаю, что это разрешено. Это упростит копирование файла, купленного в iTunes, поэтому я не думаю, что Apple позволит это.

Когда вы выбираете музыку из своей музыкальной библиотеки, вам нужно будет использовать MPMediaPickerController со следующим методом делегата:

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection

MPMediaItemCollection — это своего рода список. Его элементы являются экземплярами класса MPConcreteMediaItem. MPMusicPlayerController может воспроизводить MPMediaItemCollection, но с MPConcreteMediaItems вы ничего не можете сделать.

person Mats Stijlaart    schedule 23.02.2011
comment
Спасибо за вклад. Могу ли я где-нибудь хранить ссылки на MPMediaItemCollection? Я имею в виду путь к этому файлу, чтобы использовать этот файл в следующий раз, когда я открою свое приложение? - person Meghan; 03.03.2011
comment
MPMediaItemCollection наследуется от MPMediaEntity, который наследуется от NSObject. MPMediaEntity соответствует протоколу NSCoding, поэтому это означает, что он сериализуем, и вы можете поместить данные в файл. ‹br/› Это означает, что вы также можете сериализовать MPMediaItemCollection. Я не знаю, сработает ли это, но я почти уверен, что Apple это реализовала (вероятно, так, как Apple хранит плейлисты). - person Mats Stijlaart; 03.03.2011