【问题标题】:How to access local music files from iOS programmatically?如何以编程方式从 iOS 访问本地音乐文件?
【发布时间】:2017-04-21 10:09:17
【问题描述】:
我可以使用以下代码访问我从 iTunes 购买的音乐专辑。
MPMediaQuery * query = [MPMediaQuery albumsQuery];
allAlbums = query.collections;
return allAlbums;
但无法列出从我的电脑手动添加的音乐专辑。 iTunes 能够在最近添加的内容中显示它们。但我的应用没有显示它们?
如何访问手动添加的音乐文件?
【问题讨论】:
标签:
ios
objective-c
itunes
【解决方案1】:
尝试关注:
首先导入 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