等到iPhone中的媒体选择

时间:2013-12-02 10:45:38

标签: ios iphone objective-c mpmediapickercontroller

我正在使用 MPMediaPickerController 控制器。

现在我可以使用以下代码从图库中选择一个项目:

MPMediaPickerController *controller = [[MPMediaPickerController alloc]initWithMediaTypes:MPMediaTypeAnyAudio];
controller.delegate = mediaDelegate._pickerDelegate;
[self presentViewController:controller animated:YES completion:nil];
NSLog(@"url :%@",singleton.url);

目的是我的方法应该返回所选项目的URL。相反,我得到了null的URL,因为一旦视图控制器出现(它没有等待选择项目),就会调用当前视图控制器下面的行。

有没有办法在presentViewController之后停止,选择项目,然后从方法中返回选定的项目URL?

2 个答案:

答案 0 :(得分:2)

您需要实施MPMediaPickerControllerDelegate委托:

- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection

当用户选择一个项目时,将调用该方法

答案 1 :(得分:0)

你必须写这个

[self presentViewController:controller animated:YES completion:nil];
NSLog(@"url :%@",singleton.url);

in

- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection

方法..