NSData 的 iPod 库路径
Posted
技术标签:
【中文标题】NSData 的 iPod 库路径【英文标题】:iPod Library path to NSData 【发布时间】:2016-04-18 12:37:04 【问题描述】:如何将 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"
【问题讨论】:
你必须使用AVAssetExportSession
。只有 AVFondation 的东西才应该被允许用“ipod-library”打开文件。
【参考方案1】:
您无法直接访问媒体项目 URL,因为它位于应用程序的沙箱之外。
您需要使用 AVAssetExportSession 获取资产,并将其保存到沙箱中的 URL。您可以从那里获取 NSData - 请参阅此 SO 问题 ios 6 issue Convert MPMediaItem to NSData
【讨论】:
以上是关于NSData 的 iPod 库路径的主要内容,如果未能解决你的问题,请参考以下文章