2016-04-18 81 views
0

如何將iPod庫轉換爲NSData。 網址是:NSData的iPod庫路徑

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 - 看到這個問題iOS 6 issue Convert MPMediaItem to NSData