2013-02-20 57 views
3

在我的應用程序中,我用魔杖來呈現媒體選擇器,讓用戶選擇1首歌曲,然後獲取它的實際MP3(或任何其他格式,只要其可由其他iOS設備播放)文件。iOS iPod API - 獲取實際的歌曲文件

如何完成? 我怎樣才能用歌曲文件實際創建一個對象?

+0

爲什麼這個模樣你試圖找到一種方法來獲得未經允許的MP3文件? – DiMono 2013-02-20 20:39:52

+0

我會得到用戶的許可... – 2013-02-20 20:41:23

+0

事實上,我不想在這裏做任何非法的事情(爲了改變)。 – 2013-02-20 20:42:00

回答

6

我不知道爲什麼每個人都這麼說bs有關從應用程序商店被拒絕。我將簡要介紹如何開始。

-Present媒體選擇器中打開用戶的iPod:

MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic]; 
pickerController.prompt = NSLocalizedString(@"Choose Song", NULL); 
pickerController.allowsPickingMultipleItems = NO; 
pickerController.delegate = self; 
[self presentViewController:pickerController animated:YES completion:nil]; 
[pickerController release]; 

-Wait直到用戶選擇一首歌曲,並得到在mediaPicker委託回調:

- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection 
{ 
    MPMediaItem *theChosenSong = [[mediaItemCollection items]objectAtIndex:0]; 
    NSString *songTitle = [theChosenSong valueForProperty:MPMediaItemPropertyTitle]; 
    NSString *artist = [theChosenSong valueForProperty:MPMediaItemPropertyArtist]; 

    //then just get the assetURL 
    NSURL *assetURL = [theChosenSong valueForProperty:MPMediaItemPropertyAssetURL]; 
    AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL:assetURL options:nil]; 

    //Now that you have this, either just write the asset (or part of) to disk, access the asset directly, send the written asset to another device etc 

}