2016-04-18 3 views
0

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

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"}} 
+0

Вы должны использовать 'AVAssetExportSession'. Только файлы AVFondation должны иметь возможность открывать файлы с помощью «ipod-library». – Larme

ответ

2

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

Вам необходимо извлечь актив с помощью AVAssetExportSession, который сохраняет его в URL-адрес в вашей изолированной программной среде. Вы можете получить NSData оттуда - см. Этот вопрос SO iOS 6 issue Convert MPMediaItem to NSData

Смежные вопросы