2016-06-28 5 views
3

Я работаю над проектом, где мне нужно играть песни из iTunes Library в AVPlayer. Для этого я беру URL "ipod-library://item/item.mp3?id=1577682869916034242" из выбранных композиций из iTunes Library и играл их в AVPlayer. Почти все песни играют, но за несколько песен MPMediaItemPropertyAssetURL возвращает ниль URL. Также принимаем следующую ошибку:MPMediaItemPropertyAssetURL return nil

-[AVAssetReader initWithAsset:error:] invalid parameter not satisfying: asset != ((void *)0)

Любое предложение по этому вопросу? и почему я получаю значение ноль из

MPMediaItemPropertyAssetURL

Кроме того, любая идея, как поток или конвертировать DRM Protected медиа трек в NSData ?. Пожалуйста, совет.

+0

Вы можете сослаться на этот http://stackoverflow.com/questions/5571036/how-to-detect-if-an-mpmediaitem-represents-a-drm-protected-audio-track-on-ios/6401317# 6401317. Я думаю, вы должны проверить URL-адрес от MPMediaItemPropertyAssetURL '' 'NSURL * assetURL = [item valueForProperty: MPMediaItemPropertyAssetURL]; if (assetURL && assetURL.aboluteString.length> 0) ... '' ' – Proton

+0

@DungProton Я могу проверить это. Но я хочу знать причину, почему она ноль. Что, если я хочу сыграть эту песню? –

+0

http://stackoverflow.com/questions/21195064/mpmediaitempropertyasseturl-returning-null-only-for-iphone-5s? Это потому, что это в облаке? – Larme

ответ

0

Я узнал, что проблема заключалась в том, что песня, которую я пыталась получить для свойства MPMediaItemPropertyAssetURL, на самом деле не была на моем устройстве. Он был указан в медиа-библиотеке, но на самом деле был все еще в iCloud. Как только я загрузил песню на свое устройство, проблема была решена.