MPMediaPickerController
を使用してMedia Playerからオーディオファイルを選択するプロジェクトがあります。しかし、URLを保存しようとすると、null
が返されます。私のコードは、以下に見られることができます。Objective-C MPMediaItem nullの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
は、デバイスのライブラリから単一のオーディオ項目を選択するとnilです。この問題に関して私が見つけることができる唯一の答えは、雲の項目がMediaPickerから選択されたときに、URLがnull
になることです。しかし、上記のように、私はshowCloudItems = NO
を設定しました。
私は非常に助けていただければ幸いです。追加情報が必要な場合はお知らせください。
'item'の値は何ですか? –
のNSLog(@ "%@"、項目)の結果で: 7217559012103102902 –
'NSURL * assetURL =(NSURL *)項目valueForProperty:MPMediaItemPropertyAssetURL]ん。'任意の効果がありますか? –