Я использовал следующий код, чтобы извлечь URL-адрес ресурса из объекта MPMediaItem, возвращенного из MPMediaItemPickerController, чтобы я мог копировать музыкальные файлы из музыкальной библиотеки пользователей iPhone itunes в папку документов для обработки , но на iPhone 5s я всегда получаю нулевое значение от MPMediaItemPropertyAssetURL, но когда я запускаю тот же код на iPhone 4 или iPhone 5, он работает так, как должен возвращать правильный URL-адрес.MPMediaItemPropertyAssetURL возвращает null только для iPhone 5s
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection {
[self dismissViewControllerAnimated:YES completion:nil];
if(mediaItemCollection){
MPMediaItem *mediaItem = (MPMediaItem *)[mediaItemCollection.items objectAtIndex: 0];
NSString *songTitle = [mediaItem valueForProperty: MPMediaItemPropertyTitle];
NSLog(@"songtitle: %@", songTitle);
NSURL *assetURL = [mediaItem valueForProperty: MPMediaItemPropertyAssetURL];
NSLog(@"%@", assetURL);
}
}
Я попытался удалить arm64 из действительных архитектур и построения только для ARMv7 и armv7s, но это не исправить эту проблему.
Кто-нибудь знает, почему это происходит и как я могу это исправить, или если есть обходной путь, который я могу использовать? Мне нужно иметь возможность копировать музыку из музыкальной библиотеки iPhone в папку документов, чтобы я мог правильно обрабатывать музыку для приложения dj.
Благодаря
это может помочь вам http://stackoverflow.com/questions/5571036/how-to-detect-if-an-mpmediaitem-represents -a-drm-protected-audio-track-on-ios/6401317 # 6401317 –
К сожалению, это именно тот код, который я уже использую, который работает на всех моих устройствах, за исключением iPhone 5s. Следующий код всегда приводит к переменной NULL assetURL на iPhone 5s. NSURL * assetURL = [item valueForProperty: MPMediaItemPropertyAssetURL]; Я предполагаю, что это должно иметь какое-то отношение к 64-битной архитектуре, но я не могу себе представить, почему это будет проблемой ... Спасибо –
У меня тоже такая проблема, но с iPhone 5. MPMediaItemPropertyAssetURL всегда возвращает ноль для трека, который был возвращен из запроса на устройстве - так что он должен быть там (и я могу воспроизвести его с iPod) – Jonny