【发布时间】:2013-04-24 15:03:40
【问题描述】:
我想将 mp3 从我的手机上传到服务器,为此我使用MPMediaPickerController。
在获取MPMediaItem 的 URL 后,我想获取此 url 的 NSData,但我在 NSData 中得到了 null。
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
[self dismissViewControllerAnimated:YES completion:nil];
MPMediaItem *item=[[mediaItemCollection items] objectAtIndex:0];
NSURL *url = [item valueForProperty: MPMediaItemPropertyAssetURL];
NSString *path = [NSString stringWithFormat:@"%@",url];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
}
我也试过了
NSData *data = [NSData dataWithContentsOfURL:url];
但是数据是空的,为什么?
我也试过NOt able to convert from MPMediaItem(mp3 song) to NSData 但没有得到结果。
谁能指导我获取mp3的NSData。
提前致谢。
【问题讨论】:
-
如果您需要知道失败的原因,请使用 dataWithContentsOfURL:options:error:。
-
Error Domain=NSCocoaErrorDomain Code=256 “操作无法完成。(Cocoa 错误 256。)” UserInfo=0x1cd051b0 {NSURL=ipod-library://item/item.mp3?id =-4848947984816581540}
-
该 URL 仅适用于 AVFoundation; NSData 将无法使用 NSURL 做任何事情。
标签: iphone ios objective-c alassetslibrary mpmediapickercontroller