2012-07-19 4 views
4

Est-il possible de vérifier si un élément mediaItem extrait de la bibliothèque musicale de l'iPhone représente un élément iCloud? Je sais que la propriété MPMediaItemPropertyAssetURL d'un élément de média est nulle à la fois pour les médias protégés par DRM et pour l'élément iCloud, mais je ne sais pas comment déterminer si l'élément est protégé par DRM ou s'il est disponible sur le cloud.MPMediaItem | iCloud ou DRM protégé

Merci à l'avance

Répondre

0

Je ne peux pas dire avec une certitude absolue que ce soit la meilleure façon de le faire, mais dans mon application je teste juste MPMediaItemPropertyAssetURL propriété du MPMediaItem pour voir si elle est nulle:

if ([(MPMediaItem*)item valueForProperty:MPMediaItemPropertyAssetURL] == nil) { 
    // it's in the cloud 
} 
+2

Cela ne fonctionnerait pas car MPMediaItemPropertyAssetURL est également nul pour les médias protégés par DRM, donc je ne saurais pas si l'élément média est protégé par DRM ou représente quelque chose qui est dans le cloud. –

+2

Etes-vous sûr de cela? Dans mon application, le contenu protégé par DRM a l'ensemble 'MPMediaItemPropertyAssetURL'. Le moyen de vérifier s'il est protégé par DRM est de vérifier la méthode 'hasProtectedContent' d'AVAsset –

+2

Pour obtenir un AVAsset, vous avez besoin de l'URL de MPMediaItem et l'URL n'est pas définie si elle est protégée par DRM, téléchargée en tant que ressource de cloud ou en quelque sorte pas prêt. Vous ne pouvez donc même pas accéder à la propriété hasProtectedContent. – Brennan