每当我使用MPMediaItemCollection
将MPMediaItemPropertyAssetURL
转换为数据时,我都会获得空值?
这里是我的代码
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
但是当我转换成数据我得到空值 谢谢你的进步。
答案 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。