如何以编程方式从iOS访问本地音乐文件?

时间:2017-04-21 10:09:17

标签: ios objective-c itunes

我可以使用以下代码访问我从iTunes购买的音乐专辑。

MPMediaQuery * query = [MPMediaQuery albumsQuery];
allAlbums = query.collections;
return allAlbums;

但无法列出从我的电脑手动添加的音乐专辑。 Itunes能够在最近添加它们。但我的应用程序没有显示它们?

如何访问手动添加的音乐文件?

1 个答案:

答案 0 :(得分:0)

尝试以下:

首先导入AVFoundation / AVFoundation.h框架。

#import <AVFoundation/AVFoundation.h>
-(void)pickAudioFiles
{
    MPMediaPickerController *soundPicker=[[MPMediaPickerController alloc] 
       initWithMediaTypes:MPMediaTypeAnyAudio];
    soundPicker.delegate=self;
    soundPicker.allowsPickingMultipleItems=NO; // You can set it to yes for multiple selection
    [self presentViewController:soundPicker animated:YES completion:nil];
 }

 -(void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:
(MPMediaItemCollection *)mediaItemCollection
{
   MPMediaItem *item = [[mediaItemCollection items] objectAtIndex:0]; // For multiple you can iterate iTems array
   NSURL *url = [item valueForProperty:MPMediaItemPropertyAssetURL];
   [mediaPicker dismissViewControllerAnimated:YES completion:nil];
   AVPlayerItem *playerItem=[AVPlayerItem playerItemWithURL:url];
   AVPlayer *player=[[AVPlayer alloc] initWithPlayerItem:playerItem];
   AVPlayerLayer *playerLayer=[AVPlayerLayer playerLayerWithPlayer:player];
   playerLayer.frame=CGRectMake(0, 0, 10, 10);
   [self.view.layer addSublayer:playerLayer];
}

你可以玩

 [player play]

注意:如果您想一次加载所有数据,请查看以下链接。这可能会一下子帮助你。

Fetch All Audio & Video files in ios