Question

This is how I've code to open media picker list

- (void)viewDidLoad
{
    [super viewDidLoad];

    player=[MPMusicPlayerController iPodMusicPlayer];

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

    [picker setDelegate:self];

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

I've also implemented its delegate method

- (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.
    */
}
Was it helpful?

Solution

Initialize a MPMediaItem object from some index of the mediaItemCollection.items array:

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

Then call the -valueForProperty: method:

NSURL *assetURL = [anItem valueForProperty: MPMediaItemPropertyAssetURL];

There are other properties that you can get from the MPMediaItem described here:http://bit.ly/GGs3XI

Look under "General Media Item Property Keys"

Hope this helps! Tams

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top