Путь библиотеки iPod к NSData

Как преобразовать библиотеку iPod в NSData. URL-адрес:

ipod-library://item/item.mp3?id=1258203422631791096 

Получаю ошибку, но я могу воспроизвести песню с помощью AVPlayer.

 NSURL *url = [curItem valueForProperty: MPMediaItemPropertyAssetURL];
 NSError *error = nil;
    NSData *data = [NSData dataWithContentsOfFile:[url absoluteString] options:NSDataReadingMappedAlways error:&error];
    NSLog(@"Error : %@",error);

curItem — это MPMediaItem.

Error Domain=NSCocoaErrorDomain Code=260 "The file “item.mp3?id=1258203422631791096” couldn’t be opened because there is no such file." UserInfo={NSFilePath=ipod-library://item/item.mp3?id=1258203422631791096, NSUnderlyingError=0x15ff23420 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

person Vineesh TP    schedule 18.04.2016    source источник
comment
Вы должны использовать AVAssetExportSession. Только программам AVFondation должно быть разрешено открывать файлы с помощью ipod-библиотеки.   -  person Larme    schedule 18.04.2016


Ответы (1)


Вы не можете получить прямой доступ к URL-адресу мультимедийного элемента, поскольку он находится за пределами изолированной программной среды вашего приложения.

Вам нужно получить ресурс с помощью AVAssetExportSession, который сохраняет его по URL-адресу в вашей песочнице. Вы можете получить NSData оттуда — см. этот вопрос SO

person igraczech    schedule 18.04.2016