How to get NSData of mp3 using MPMediaPickerContro

2020-02-11 09:43发布

问题:

I want to upload mp3 from my phone to server, for this i am using MPMediaPickerController.

After getting URL of MPMediaItem, i want to get NSData of this url , but i am getting null in NSData.

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
    [self dismissViewControllerAnimated:YES completion:nil];

    MPMediaItem *item=[[mediaItemCollection items] objectAtIndex:0];
    NSURL *url = [item valueForProperty: MPMediaItemPropertyAssetURL];
    NSString *path = [NSString stringWithFormat:@"%@",url];
    NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
}

i also tried

NSData *data = [NSData dataWithContentsOfURL:url];

But data is null, why?

I also tried NOt able to convert from MPMediaItem(mp3 song) to NSData But not getting result.

Can any one guide me to get NSData of mp3.

Thanks in advance.

回答1:

Take a look at this library: https://github.com/tapsquare/TSLibraryImport It can convert non-DRM items from iPod music library to mp3 files and then you can save them or use as NSData for further processing.