您好我使用MPMediaPickerController从电话库中挑选音频文件。但它给我空白的屏幕。我无法理解为什么会这样。我在模拟器上运行应用程序。这是我的代码
- (IBAction)selectFile:(UIButton *)sender{
MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = YES;
mediaPicker.prompt = @"Select Your Favourite Song!";
[mediaPicker loadView];
[self.navigationController presentViewController:mediaPicker animated:YES completion:nil]; }
答案 0 :(得分:0)
MPMediaPickerController在模拟器中不起作用。 Apple在“iPod库访问编程指南”"中记录了这一点。在" Hello Music Player"。说明说:
注意:要执行这些步骤,您需要配置设备,因为 模拟器无法访问设备的iPod库。
为了防止断言,您可以随时检查是否可以在代码中访问(请使用ARC和iOS SDK 5.0代码)。
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];
[picker setDelegate:self];
[picker setAllowsPickingMultipleItems:YES];
[picker setPrompt:NSLocalizedString(@"Add songs to play","Prompt in media item picker")];
@try {
[picker loadView]; // Will throw an exception in iOS simulator
[self presentViewController:picker animated:YES completion:nil];
}
@catch (NSException *exception) {
[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Oops!",@"Error title")
message:NSLocalizedString(@"The music library is not available.",@"Error message when MPMediaPickerController fails to load")
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
答案 1 :(得分:0)
对于那些想要在Swift中得到答案的人:
@IBAction func openMediaPickerController(sender: AnyObject) {
let picker = MPMediaPickerController()
picker.delegate = self
picker.allowsPickingMultipleItems = true
picker.prompt = NSLocalizedString("Chose audio file", comment: "Please chose an audio file")
self.presentViewController(picker, animated: true, completion: nil)
}
func mediaPickerDidCancel(mediaPicker: MPMediaPickerController) {
self.dismissViewControllerAnimated(true, completion: nil)
}
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
//run any code you want once the user has picked their chosen audio
}