IOS 访问媒体资料库

时间:2024-03-18 13:19:33

前段时间做了一个APP,其中包含一个音乐播放器,播放器的一个需求是添加本地音乐文件。

demo具体实现:

1、由于你需要访问媒体资料库,所以你的设置访问的权限,设置如下

a、在info.list 下添加一行KEY:Privacy - Media Library Usage Description 

                                 Value:访问媒体库(Value这个值可以随便填,只是一个提示作用)。

IOS 访问媒体资料库

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

{

    forMPMediaItem* item in [mediaItemCollection items])

     {

       //打印输出消息

        NSLog(@"itemURL : %@",item.assetURL);

    }


    [mediaPicker dismissViewControllerAnimated:YES completion:nil];

    

}