Cha*_*ock 19 iphone drm mpmediaitem
我想知道代表音乐曲目的MPMediaItem是否适用于受Fairplay/DRM保护的项目.有什么办法吗?
Jus*_*ent 10
我是这样做的:
MPMediaItem* item;
NSURL* assetURL = [item valueForProperty:MPMediaItemPropertyAssetURL];
NSString *title=[item valueForProperty:MPMediaItemPropertyTitle];
if (!assetURL) {
/*
* !!!: When MPMediaItemPropertyAssetURL is nil, it typically means the file
* in question is protected by DRM. (old m4p files)
*/
NSLog(@"%@ has DRM",title);
}
Run Code Online (Sandbox Code Playgroud)
从iOS 4.2开始,有一种方法.这里的示例可能有一个更有效的方法(但对于我的应用程序,我还需要创建AVPlayerItems).
MPMediaItem item;
NSURL *assetURL = [item valueForProperty:MPMediaItemPropertyAssetURL];
AVPlayerItem *avItem = [[AVPlayerItem alloc] initWithURL:assetURL];
BOOL fairplayed = avItem.asset.hasProtectedContent;
Run Code Online (Sandbox Code Playgroud)
从iOS 4.2开始,AVAsset该类有一个属性,hasProtectedContent因此您可以检查:
NSURL *assetURL = [item valueForProperty:MPMediaItemPropertyAssetURL];
AVAsset *asset = [AVAsset assetWithURL:assetURL];
if ([asset hasProtectedContent] == NO) {..do your stuff..}
Run Code Online (Sandbox Code Playgroud)