0
我有一个项目,该项目使用了一个MPMediaPickerController
的,从媒体播放器中选择音频文件。然而,尝试存储它的URL的时候,我得到什么,但null
返回。我的代码可以看到下面:Objective-C的MPMediaItem与空URL
- (void)showMediaPicker:(NSString *)title {
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAny];
picker.delegate = self;
picker.prompt = title;
picker.allowsPickingMultipleItems = NO;
picker.showsCloudItems = NO;
[self.viewController presentViewController:picker animated:YES completion:NULL];
}
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
MPMediaItem *item = [mediaItemCollection.items firstObject];
NSURL *assetURL = [item valueForProperty:MPMediaItemPropertyAssetURL];//returning null
NSString *type = [self contentTypeForFile:assetURL.lastPathComponent];
NSString *title = [item valueForProperty:MPMediaItemPropertyTitle];
[self callbackWithName:title type:type url:assetURL];
}
无论出于何种原因,我*assetURL
是在从设备的库中选择一个音频项为零。唯一的答案我可以就这个问题找到往往涉及到URL时,从MediaPicker选择了云项目是null
。但是,如上所示,我已经设置了showCloudItems = NO
。
我将不胜感激任何帮助;让我知道你是否需要任何额外的信息!
什么是'item'的价值? –
的NSLog(@ “%@”,项目)导致: 7217559012103102902 –
是否'NSURL * assetURL =(NSURL *)[项目valueForProperty:MPMediaItemPropertyAssetURL];'有什么影响? –