【问题标题】: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

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多