在我的应用中,我想呈现媒体选择器,让用户选择1首歌曲,然后获取它的实际MP3文件(或任何其他格式,只要其他iOS设备可以播放)。
如何完成这个任务? 我该如何创建一个带有歌曲文件的对象?
在我的应用中,我想呈现媒体选择器,让用户选择1首歌曲,然后获取它的实际MP3文件(或任何其他格式,只要其他iOS设备可以播放)。
如何完成这个任务? 我该如何创建一个带有歌曲文件的对象?
我不知道为什么大家都在说被应用商店拒绝的事情,我会简单介绍一下如何开始。
-呈现媒体选择器以打开用户的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];
-等待用户选择歌曲并在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
}