Как получить NSData mp3 с помощью MPMediaPickerController?

Я хочу загрузить mp3 с телефона на сервер, для этого я использую MPMediaPickerController.

После получения URL-адреса MPMediaItem я хочу получить NSData этого URL-адреса, но я получаю null в 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];
}

я тоже пробовал

NSData *data = [NSData dataWithContentsOfURL:url];

Но данные нулевые, почему?

Я также пробовал НЕ смог преобразовать из MPMediaItem (песня mp3) в NSData Но результата нет.

Может ли кто-нибудь помочь мне получить NSData из mp3.

Заранее спасибо.


person Rajneesh071    schedule 24.04.2013    source источник
comment
Если вам нужно узнать причину сбоя, используйте dataWithContentsOfURL:options:error:.   -  person dans3itz    schedule 24.04.2013
comment
Error Domain=NSCocoaErrorDomain Code=256 Операция не может быть завершена. (Ошибка какао 256.) UserInfo=0x1cd051b0 {NSURL=ipod-library://item/item.mp3?id=-4848947984816581540}   -  person Rajneesh071    schedule 24.04.2013
comment
URL подходит только для AVFoundation; NSData ничего не сможет сделать с NSURL.   -  person dans3itz    schedule 24.04.2013


Ответы (1)


Взгляните на эту библиотеку: https://github.com/tapsquare/TSLibraryImport Она может преобразовывать не- Элементы DRM из музыкальной библиотеки iPod в файлы mp3, а затем вы можете сохранить их или использовать как NSData для дальнейшей обработки.

person Jeepston    schedule 24.04.2013
comment
Не могли бы вы сказать, что если я хочу преобразовать его в NSData, что мне нужно сделать? В настоящее время я использую NSMutableData *outputData = [[NSMutableData alloc]initWithContentsOfURL:outURL]; Но он не играет на стороне сервера. Пожалуйста, помогите, если это возможно. Заранее спасибо - person ManiaChamp; 20.12.2013