2012-05-21 3 views
1

내가 사용할 때마다 null 값을 얻고 있습니다. MPMediaItemCollectionMPMediaItemPropertyAssetURL을 데이터로 변환 하시겠습니까?'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

에 대한 URL을 얻고있다하지만 난 데이터로 변환 할 때 내가 null 값을 사전에 감사를 받고.

+0

AudioFile을 초기화하는 곳은 어디입니까? – rishi

+1

NSLog();의 결과는 –

답변

1

URL의 사용자 지정 체계가 ipod-library이고 AVFoundation 방법과 함께 사용해야합니다 (예 : AVAsset 개체). ,

MPMediaItemPropertyAssetURL

AVAsset 객체 (또는 다른 URL 기반의 AV 재단 개체)를 생성 할 수있는 미디어 항목을 가리키는 URL :

MPMediaItem Class Reference이 약 MPMediaItemPropertyAssetURL을 말한다 원하는대로 옵션을 선택하십시오. 값은 NSURL 객체입니다.

URL에는 ipod-library의 맞춤 구성표가 있습니다. 예를 들어, URL은 다음과 같습니다?

아이팟 라이브러리

: //item/item.m4a는 AV 재단 프레임 워크의 외부 URL의 ID = 12345

사용은 지원되지 않습니다.

+0

입니다. 여기 NSURL * url = [item valueForProperty : MPMediaItemPropertyAssetURL]을 사용하여 데이터를 얻으려면 몇 가지 지침을 제공해주십시오. AVURLAsset * songAsset = [AVURLAsset URLAssetWithURL : url options : nil]; AVAssetExportSession * exporter = [[AVAssetExportSession alloc]] initWithAsset : songAsset presetName : AVAssetExportPresetPassthrough]; – Hari1251

+0

@ Pandu1251 'AVAsset'에서 원시 데이터에 액세스하는 방법을 모르겠다. – mttrb

+0

ok 여기에 파일을 가져올 수있는 방법을 알 수 있습니까? AVURLAsset * songAsset = [AVURLAsset URLAssetWithURL : url options : nil]; url은 Hari1251