1

MPMediaItemCollectionデータへの変換を使用しているときはいつでも、null値を取得してい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);

ここで私は曲のURLを取得していますipod-library://item/item.mp3?id=-9207595762773025867

しかし、データに変換するとnull値が返されます。よろしくお願いします。

4

1 に答える 1

1

ここでの問題は、URLにカスタムスキームがあり、これはオブジェクトなどのメソッドでipod-libraryのみ使用できることです。AVFoundationAVAsset

MPMediaItemクラスリファレンスには、次のことが記載されていますMPMediaItemPropertyAssetURL

MPMediaItemPropertyAssetURL

メディアアイテムを指すURL。そこからAVAssetオブジェクト(または他のURLベースのAV Foundationオブジェクト)を作成でき、必要に応じて任意のオプションを使用できます。値はNSURLオブジェクトです。

URLにはipod-libraryのカスタムスキームがあります。たとえば、URLは次のようになります。

ipod-library://item/item.m4a?id = 12345

AVFoundationフレームワークの外部でのURLの使用はサポートされていません。

于 2012-05-21T07:33:29.393 に答える