每当我使用`MPMediaItemCollection`将'MPMediaItemPropertyAssetURL`转换为数据时,我得到空值?

时间:2012-05-21 06:57:47

标签: iphone objective-c mpmediaitem

每当我使用MPMediaItemCollectionMPMediaItemPropertyAssetURL转换为数据时,我都会获得空值?

这里是我的代码

MPMediaItemCollection *collection=[allAlbumsArray objectAtIndex:indexPath.row];
MPMediaItem *item = [collection representativeItem];

NSLog(@" songs titles_str url is===>%@",[item valueForProperty:MPMediaItemPropertyAssetURL]);

NSLog(@"class type is %@",[[item valueForProperty:MPMediaItemPropertyAssetURL] class]);

self.songData=[NSData dataWithContentsOfURL:[item valueForProperty:MPMediaItemPropertyAssetURL]];

NSLog(@"original data is %@",self.songData);

我在这里收到歌曲ipod-library://item/item.mp3?id=-9207595762773025867

的网址

但是当我转换成数据我得到空值 谢谢你的进步。

1 个答案:

答案 0 :(得分:1)

此处的问题是该网址具有自定义方案ipod-library,该方案只能与AVFoundation方法一起使用,例如AVAsset个对象。

MPMediaItem Class Reference说明MPMediaItemPropertyAssetURL

  

MPMediaItemPropertyAssetURL

     

指向媒体项的URL,AVAsset对象(或其他基于URL的AV Foundation)    可以根据需要使用任何选项创建对象)。值是NSURL对象。

     

URL具有ipod-library的自定义方案。例如,URL可能如下所示:

     

的iPod库://item/item.m4a ID = 12345

     

不支持在AV Foundation框架之外使用URL。