2016-04-18 9 views
0

iPodライブラリをNSDataに変換する方法。 URLは次のとおりです。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にアクセスすることはできませんです。

アセットを、サンドボックス内のURLに保存するAVAssetExportSessionを使用して取得する必要があります。そこからNSDataを得ることができます - このSOの質問を参照してくださいiOS 6 issue Convert MPMediaItem to NSData

関連する問題