前段时间做了一个APP,其中包含一个音乐播放器,播放器的一个需求是添加本地音乐文件。
demo具体实现:
1、由于你需要访问媒体资料库,所以你的设置访问的权限,设置如下
a、在info.list 下添加一行KEY:Privacy - Media Library Usage Description
Value:访问媒体库(Value这个值可以随便填,只是一个提示作用)。
2、通过MPMediaPickerController 去访问媒体资料库
ViewController.m
@interface ViewController ()
{
MPMediaPickerController *picker;
}
- (IBAction)clickGetMusicList:(id)sender
{
[self getMusicList];
}
- (void)getMusicList
{
picker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
picker.prompt = @"添加本地音乐";
picker.showsCloudItems = NO;
picker.allowsPickingMultipleItems = YES;
picker.delegate = self;
[self presentViewController:picker animated:YES completion:nil];
}
3、实现代理回调
ViewController.m
//取消或者没选回调函数
- (void)mediaPickerDidCancel:(MPMediaPickerController*)mediaPicker
{
[mediaPicker dismissViewControllerAnimated:YES completion:nil];
}
//选中选项之后代理回调
-(void)mediaPicker:(MPMediaPickerController*)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
{
for ( MPMediaItem* item in [mediaItemCollection items])
{
//打印输出消息
NSLog(@"itemURL : %@",item.assetURL);
}
[mediaPicker dismissViewControllerAnimated:YES completion:nil];
}