2

这就是我打开媒体选择器列表的代码

- (void)viewDidLoad
{
    [super viewDidLoad];

    player=[MPMusicPlayerController iPodMusicPlayer];

    picker=[[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];

    [picker setDelegate:self];

    picker.prompt=@"Add an audio to application";
}

我也实现了它的委托方法

- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection 
{
    /*I know only here I can get path but don't know how?
      mediaItemCollection don't have such kind of properties or any
      method to get selected file path.

      So is there any other way to do so?

      Note: I required this path, so that I can store it somewhere and can play it in future.
    */
}
4

1 回答 1

3

从 mediaItemCollection.items 数组的某个索引初始化 MPMediaItem 对象:

MPMediaItem *anItem = (MPMediaItem *)[mediaItemCollection.items objectAtIndex: row];

然后调用 -valueForProperty: 方法:

NSURL *assetURL = [anItem valueForProperty: MPMediaItemPropertyAssetURL];

您可以从此处描述的 MPMediaItem 获得其他属性:http://bit.ly/GGs3XI

在“通用媒体项目属性键”下查看

希望这可以帮助!塔姆斯

于 2012-03-22T08:46:38.853 回答